
因此,我正在配置一些預設使用者模板 LaunchAgents 來為我公司的一些最受歡迎的粉絲藝術配置預設螢幕保護程式。 (實際上,它受到了團隊的好評)。它們被設計為在登入強製本機 Active Directory 使用者時首次執行的映像。
然而,我現在得到的結果非常不一致......也就是說它根本不起作用。
啟動.plist
位於 /sbin/ 資料夾中的 Shell 腳本。奇怪的是,它主要適用於現有用戶。
螢幕保護程式旨在對特定的圖像資料夾使用“Flipup”,隨機播放圖片並將開始時間設定為 5 分鐘。
例如,我故意將“預設配置使用者”螢幕保護程式首先設定為“Holiday Mobile”,將圖片選擇設為“Cosmos”(預設值之一),開始時間為20 分鐘,並取消選取“隨機播放影像” 。然後我把它改為「阿拉伯式花紋」。
當我登出並重新登入以啟動腳本時,結果是我得到“Holiday Mobile”。然而,當我進入“桌面和螢幕保護程式設定”時,實際上選擇了“阿拉伯式花紋”,儘管“假日移動”預覽顯示下方有灰色的“螢幕保護程式選項”。 (但是,開始時間確實更改為 5 分鐘,當我單擊“Holiday Mobile”時,“隨機播放幻燈片順序”已正確選中。)
因此,在測試用戶中,它會轉到粉絲藝術,啟動隨機播放並更改時間。
但是,當我將 LaunchAgent 新增.plist
至預設使用者範本後建立新使用者時,除了黑色背景上的標準「電腦名稱」螢幕保護程式之外,我什麼也沒有得到。
我完全不明白為什麼會發生這種情況。有什麼建議麼?
這是 shell 腳本:
#!/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
徹底解決了問題。雖然如果您進入系統偏好設置,它仍然顯示正在選擇舊的螢幕保護程序,但它可以工作。