我正在尝试使用这些 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键后,它可以完美运行!