
그래서 우리 회사의 가장 인기 있는 팬 아트에 대한 기본 화면 보호기를 구성하기 위해 일부 기본 사용자 템플릿 LaunchAgent를 구성하고 있습니다. (실제로 팀에서 정말 좋은 평가를 받았습니다.) 강제 로컬 Active Directory 사용자에 로그인할 때 처음 실행되는 이미지로 설계되었습니다.
그러나 지금은 매우 일관성 없는 결과를 얻고 있습니다. 즉, 전혀 작동하지 않습니다.
그러면 .plist
/sbin/ 폴더에 있는 쉘 스크립트가 시작됩니다. 이상한 점은 대부분 기존 사용자에서 작동한다는 것입니다.
화면 보호기는 특정 이미지 폴더에 "Flipup"을 사용하고, 사진을 섞고, 시작 시간을 5분으로 설정하도록 되어 있습니다.
예를 들어, 의도적으로 "기본 구성 사용자" 화면 보호기를 먼저 "Holiday Mobile"로 설정하고 사진 선택을 "Cosmos"(기본값 중 하나)로 설정하고 시작 시간은 20분으로 설정하고 "이미지 셔플"을 선택 취소했습니다. 그런 다음 "아라베스크"로 변경했습니다.
스크립트를 시작하기 위해 로그아웃했다가 다시 로그인했을 때 "Holiday Mobile"이라는 결과가 나왔습니다. 그러나 "데스크톱 및 화면 보호기 설정"으로 이동하면 "Holiday Mobile" 미리보기가 아래에 회색으로 표시된 "화면 보호기 옵션"과 함께 표시되었지만 실제로는 "Arabesque"가 선택되었습니다. (단, 시작시간이 5분으로 바뀌었고, 'Holiday Mobile'을 클릭했더니 '슬라이드 순서 섞기'가 제대로 체크되어 있었습니다.)
따라서 테스트 사용자에서는 팬 아트로 이동하여 Shuffle을 활성화하고 시간을 변경합니다.
.plist
그러나 기본 사용자 템플릿에 LaunchAgent를 추가한 후 새 사용자를 생성하면 검정색 배경에 표준 "컴퓨터 이름" 화면 보호기만 표시됩니다.
나는 왜 이런 일이 발생하는지 완전히 혼란스러워합니다. 어떤 제안이 있으십니까?
쉘 스크립트는 다음과 같습니다.
#!/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
문제를 완전히 해결했습니다. 시스템 환경설정으로 이동하면 여전히 이전 화면 보호기가 선택되어 있는 것으로 표시되지만 작동합니다.