Вход в систему dscl Command Breaks
Я пытаюсь изменить изображение пользователя для учетной записи с помощью этих команд 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
Я запустил это без убийства / очистки, с тем же результатом, который...
После выполнения этих команд, когда я выхожу из игры, на черном фоне появляется вертушка, я все еще вижу свой курсор, но затем монитор становится черным, и курсор отсутствует.
Это повторяется до полного выключения. Невозможно войти в систему даже после перезагрузки, потому что я никогда не могу попасть на экран входа в систему.
Я попытался скопировать файл prefs vanilla loginwindow и заменить его после того, как экран входа в систему облажался. Я попытался загрузиться в безопасном режиме, но, кажется, происходит нормальная загрузка. Когда я загружаюсь в подробном режиме, он входит в ту же точку до входа в систему. Только при загрузке в подробном режиме экран мерцает с фоном входа в систему, но затем возвращается к циклу, который, кажется, выполняет больше кода (это выглядит неактуально, как настройки Wi-Fi и т. Д.)
Информация о машинах не имеет значения, поэтому мне не нужно выполнять резервное копирование или восстановление машины как часть моего решения.
Редактировать:
Теперь я пришел к откровению, что...
sudo dscl . create /Users/photo Picture "/Library/User Pictures/Halloween.psd"
Ничего не делает После выполнения команды я прочитал обратно свойство, и оно все еще там. Есть идеи?
Изменить 2:
Решением для всех, кто сталкивается с этой проблемой, является добавление:
sudo dscl . -read /Users/photo JPEGPhoto
после удаления ключа JPEGPhoto, и он работает отлично!
1 ответ
Атрибут JPEGPhoto не должен быть путем к файлу, он должен быть изображением JPEG с шестнадцатеричной кодировкой. Взгляните на атрибут JPEGPhoto для другого аккаунта, чтобы понять, как он должен выглядеть.