
Итак, я настраиваю некоторые Default User Template LaunchAgents, чтобы настроить заставку по умолчанию для некоторых из самых популярных фан-артов моей компании. (На самом деле, это было очень хорошо принято командой). Они разработаны как изображения первого запуска, когда они входят в своих принудительно-локальных пользователей Active Directory.
Однако сейчас я получаю очень противоречивые результаты... а именно, это вообще не работает.
Запускает .plist
Shell Script, расположенный в папке /sbin/. Странно, что он в основном работает в существующем пользователе.
Заставка предполагает использование функции «Flipup» с определенной папкой изображений, перемешивание изображений и установку времени начала на 5 минут.
Например, я намеренно установил заставку «пользователя конфигурации по умолчанию» сначала на «Holiday Mobile», установил выбор изображения на «Cosmos» (одно из значений по умолчанию) со временем начала 20 минут и снял галочку «перемешивать изображения». Затем я изменил его на «Arabesque».
Когда я вышел из системы и снова вошел в нее, чтобы запустить скрипт, в результате я получил "Holiday Mobile". Однако, когда я перешел в "Настройки рабочего стола и заставки", на самом деле был выбран "Arabesque", хотя предварительный просмотр "Holiday Mobile" отображался с серыми "Параметры заставки" ниже. (Однако время начала изменилось на 5 минут, и когда я нажал на "Holiday Mobile", "Перемешать порядок слайдов" был проверен правильно.)
Итак, в тестовом режиме пользователь переходит в режим Fan Art, активирует Shuffle и меняет время.
Но когда я создаю нового пользователя после добавления LaunchAgent .plist
в шаблон пользователя по умолчанию, я не получаю ничего, кроме стандартной заставки «Имя компьютера» на черном фоне.
Я совершенно не понимаю, почему это происходит. Есть какие-нибудь предложения?
Вот скрипт оболочки:
#!/bin/sh
## Set Screensaver to Photo Slideshow
/usr/bin/defaults -currentHost write com.apple.screensaver 'CleanExit' -string "YES"
/usr/bin/defaults -currentHost write com.apple.screensaver 'PrefsVersion' -int "100"
/usr/bin/defaults -currentHost write com.apple.screensaver 'idleTime' -int "300"
/usr/bin/defaults -currentHost write com.apple.screensaver "moduleDict" -dict-add "path" -string "/System/Library/Frameworks/ScreenSaver.framework/Resources/iLifeSlideshows.saver"
/usr/bin/defaults -currentHost write com.apple.screensaver "moduleDict" -dict-add "type" -int "0"
/usr/bin/defaults -currentHost write com.apple.screensaver 'ShowClock' -bool "false"
/usr/bin/defaults -currentHost write com.apple.screensaver 'tokenRemovalAction' -int "0"
## Set Type of Slideshow to "Flipup" (Results inconsistent)
/usr/bin/defaults -currentHost write com.apple.ScreenSaver.iLifeSlideshows 'styleKey' -string "Flipup"
## Set location of photos to Fan Art
/usr/bin/defaults -currentHost write com.apple.ScreenSaverPhotoChooser 'SelectedSource' -int "4"
/usr/bin/defaults -currentHost write com.apple.ScreenSaverPhotoChooser 'SelectedFolderPath' "/Manehattan Files/Manehattan Backgrounds/Fan Art"
/usr/bin/defaults -currentHost write com.apple.ScreenSaverPhotoChooser 'ShufflesPhotos' -bool "true"
## Removes the .plist LaunchAgent from inside the User Launch Agent Folder.
rm -f ~/Library/LaunchAgents/set-screensaver.plist
exit
решение1
Итак, через JAMF один очень мудрый человек показал мне очень простую вещь, которую мне нужно было добавить в конец моего сценария:
killall cfprefsd
Решил проблему полностью. Хотя если зайти в Системные настройки, там все еще отображается выбранная старая заставка, она работает.