Answers:
Mac OS X 10.5+将用户的帐户图片存储在目录服务中,但从首次创建时起并未修改其用户图片的帐户除外。首次创建帐户时,帐户在其用户记录中包含“图片”属性,该属性是指向相关图片的路径。可以使用dscl
命令(dscl . -read /Users/${USER} Picture
)读取。
如果用户在任何时间修改了用户图片,则帐户图片(如果适用,也称为裁剪版本)存储在用户记录的'JPEGPhoto'属性中。
/Library/User Pictures
如果您要查找Apple提供的图片,可以在找到原始文件,而在可以找到您的个人原始文件~/Library/Images/iChat Recent Pictures/
。如果从iChat Recent Pictures
文件夹中删除了文件,则不会影响用户帐户的图像。
如果要提取帐户图片的版本,可以通过运行以下命令来完成
dscl . -read /Users/${USER} JPEGPhoto | tail -1 |
xxd -r -p > ${HOME}/Desktop/accountImage.jpg`
分辨率可能会因照片的原始大小以及保存照片时使用的操作系统版本而异。
如果您运行的是Mac OS X 10.4,则我的内存出现故障,因为我不记得用户图片是否存储在NetInfo中。
dscl . -read /Users/short_username JPEGPhoto | tail -1 | xxd -r -p > /PATH/TO/accountImage.jpg
- 如广告所示,即可获得256x256 px版本的帐户图片。:)
我很难在Mountain Lion 10.8.3上找到帐户图片缓存。在以下位置找不到它们
~/Library/Caches/com.apple.iChat/Pictures
要么
~/Library/Images/iChat Recent Pictures/
大概是因为iChat在Mountain Lion中成为了消息,所以我使用了命令行工具fs_usage
来查找它们。通过运行命令
sudo fs_usage -w | grep .tiff
然后单击并设置新的帐户图片,您可以看到更改帐户图片时写入磁盘的文件的路径。
原来,在山狮10.8.3中,最近的帐户图片已移至:
~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/
~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/
为小牛队
我在找到默认图片 /Library/User Pictures
此目录下有六个子目录。您可以将自己的图片集作为默认图片集的一部分。
用您的名字创建一个新的空子目录,由于这是您帐户之外的目录,任何用户都可以访问,因此您将必须输入管理员密码。
然后将您的图片复制并粘贴到这个新的子目录中,再次输入您的管理员密码。
现在,您自己的照片应显示在默认集合中。然后,您将必须进入通讯录应用程序并更改照片。然后进入“系统偏好设置”下的“用户和组”并更改照片。要更改照片,请选择“编辑”,然后选择“默认”,然后向下滚动。
在Mac OS X 10.8.2 Mountain Lion上,它们作为文件存在,在我的Mac上是jpeg和tiff的混合体。因此,可以将它们复制到另一个位置。
完整的用户照片集位于两个不同的位置。但是,所讨论的用户照片不一定与相应的用户文件夹相关。因此,这有点古怪。
看一下:Macintosh HD /用户/用户0 /库/图像/ iChat最近图片/通过“用户0 ”,我指的是系统上第一个定义的用户的名称(请参阅以下上下文)。这个位置有3张用户照片,占我4位用户中3张的照片。3 jpeg,质量都很好。有趣的是,它适用于除 user0 之外的所有用户。jpeg的确切名称如下:'Recent 1.jpg','Recent 2.jpg'和'Recent 3.jpg'
对于user0,此照片位于:Macintosh HD /库/缓存/这太差了,质量很差。该tiff确切地称为'com.apple.user501picturecache.tiff'
重要的是,这是上面的系统上下文:-2009年初运行Mac OS X 10.5 Leopard的Apple iMac 20“-第一个定义的用户是user0。名称或照片也没有更改。-所有其他用户紧随其后;名称,照片也没有更改-发布的每个新Mac OS X都对其进行了更新-当前正在运行Mac OS X 10.8.2 Mountain Lion。
注意: 当我更新为Lion时,我记得user0照片在登录时看起来不太好。看起来质量较差。所以那里发生了什么事。我希望Lion重新排列照片的位置并对照片做些什么-我没有证据,这只是预感。
这是在OS X 10.8.3上找到它的方法:
~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/
如果单击“帐户”首选项页面中的图标,将显示一个上下文菜单,其中提供“编辑图片...”作为最上方的选项。这将打开一个对话框-至少在我看来,该对话框显示用户图标的较大版本。我想出于创建Messenger图标的特定目的,简单地对此图片进行屏幕截图是可行的。
诚然,在没有技术背景回答实际问题的情况下,我真的不确定实际用户图标是否存储在常规文件中。如果此文件位于您的用户帐户(即〜/ Library)内,则如果另一个用户仅打开“帐户”偏好页面,则偏好页面将不得不深入您的账户以显示图标。
如果OTOH,文件存储在/ Library中的某个位置,则可能很难为没有管理员权限的每个用户分别设置图标。请其他人对此有所说明。
dscl
-在存储文件的.plist /var/db/dslocal
)
我的所有以前的答案都建立在这里:
dscl . -read ~$USER JPEGPhoto | xxd -p -r > $USER.jpg
这也是我发现的大部分原始的东西:
sudo plutil -convert xml1 -o - /var/db/dslocal/nodes/Default/users/$USER.plist |
vim '+/>j/+3,/>j//<\/d/-1j | .!base64 -D > $USER.jpg' '+q!' -
即使它非常复杂,它也很有用,因为plutil
在其他平台上也可以使用。它将带有用户信息的二进制plist转换为xml,然后使用vim选择带有图片的部分,最后将其从base64解码为jpg。