0

我正在尝试使用这些 dscl 命令更改照片帐户的用户图像:

sudo dscl . delete /Users/photo Picture
sudo dscl . delete /Users/photo JPEGPhoto
sudo dscl . create /Users/photo Picture "/Library/User Pictures/Halloween.psd"
sudo dscl . create /Users/photo JPEGPhoto "/Library/User Pictures/Halloween.psd"

之后,我清除缓存并像这样杀死 cfprefsd:

sudo killall cfprefsd
sudo kextcache -system-caches

我在没有杀死/清除的情况下运行了它,结果相同,即......

运行这些命令后,当我注销时,一个风车出现在黑色背景上,我仍然可以看到我的光标,但随后显示器变黑并且没有光标。

重复此过程,直到完成硬关机。即使重新启动后也无法重新登录,因为我永远无法进入登录屏幕。

我尝试复制 vanilla loginwindow prefs 文件并在登录屏幕出错后替换它。我试图启动到安全模式,但似乎发生了正常启动。当我以详细模式启动时,它会在登录前到达同一点。仅在详细模式下启动时,屏幕会随着登录背景闪烁,但随后会返回循环,这似乎正在执行更多代码(它看起来无关紧要,如 Wi-Fi 设置等)

机器上的信息是无关紧要的,所以我不需要备份或恢复机器作为我的解决方案的一部分。

编辑:

我现在得到的启示是……

 sudo dscl . create /Users/photo Picture "/Library/User Pictures/Halloween.psd"

什么都不做。运行命令后,我读回了属性,它仍然存在。有任何想法吗?

编辑2:

其他面临此问题的人的解决方案是添加:

sudo dscl . -read /Users/photo JPEGPhoto

删除JPEGPhoto键后,它可以完美运行!

4

1 回答 1

0

JPEGPhoto 属性不应该是文件路径,它必须是十六进制编码的 JPEG 图像。查看另一个帐户的 JPEGPhoto 属性以了解它的外观。

于 2015-08-12T23:51:05.733 回答