Вход в систему 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 для другого аккаунта, чтобы понять, как он должен выглядеть.

Другие вопросы по тегам