Skip to main content

my link text]([my link text)
Hi All
Which drive me crazy
I using below script success to set the screensaver plist as i want
The first time is success. BUT when i want to change the time of "start after" problem came
When i edit the script and apply, which is success to effect in plist but not in the screen saver
When i open the screensaver the plist will reset to previous
I am carzy. I try many way to kill the preferences cache but doesn't work!!!!!
I am using OSX 10.10



curuser=ls -l /dev/console | cut -d " " -f 4
if [[ ioreg -rd1 -c IOPlatformExpertDevice | grep -i "UUID" | cut -c27-50 != "00000000-0000-1000-8000-" ]]; then macUUID=ioreg -rd1 -c IOPlatformExpertDevice | grep -i "UUID" | cut -c27-62
fi
rm /Users/$curuser/Library/Preferences/com.apple.screensaver.$macUUID.plist
rm /Users/$curuser/Library/Preferences/com.apple.ScreenSaverPhotoChooser.$macUUID.plist
rm /Users/$curuser/Library/Preferences/com.apple.ScreenSaver.iLifeSlideShows.$macUUID.plist
rm /Users/$curuser/Library/Preferences/ByHost/com.apple.screensaver.$macUUID.plist
rm /Users/$curuser/Library/Preferences/ByHost/com.apple.ScreenSaverPhotoChooser.$macUUID.plist
rm /Users/$curuser/Library/Preferences/ByHost/com.apple.ScreenSaver.iLifeSlideShows.$macUUID.plist
defaults write /Users/$curuser/Library/Preferences/ByHost/com.apple.screensaver.$macUUID.plist idleTime -string 36000
defaults write /Users/$curuser/Library/Preferences/ByHost/com.apple.screensaver.$macUUID.plist CleanExit "YES"
defaults write /Users/$curuser/Library/Preferences/ByHost/com.apple.screensaver.$macUUID.plist moduleDict -dict moduleName "iLifeSlideshows" path "/System/Library/Frameworks/ScreenSaver.framework/Resources/iLifeSlideshows.saver" type -int 0
defaults write /Users/$curuser/Library/Preferences/ByHost/com.apple.ScreenSaverPhotoChooser.$macUUID.plist identifier "/Users/shared/cbs/"
defaults write /Users/$curuser/Library/Preferences/ByHost/com.apple.ScreenSaverPhotoChooser.$macUUID.plist LastViewedPhotoPath ""
defaults write /Users/$curuser/Library/Preferences/ByHost/com.apple.ScreenSaverPhotoChooser.$macUUID.plist SelectedFolderPath "/Users/shared/cbs/"
defaults write /Users/$curuser/Library/Preferences/ByHost/com.apple.ScreenSaver.iLifeSlideShows.$macUUID.plist styleKey -string Flipup
chown -R $curuser:staff /Users/$curuser/Library/Preferences/ByHost/
defaults reads /Users/$curuser/Library/Preferences/ByHost/com.apple.screensaver.$macUUID.plist
defaults reads /Users/$curuser/Library/Preferences/ByHost/com.apple.ScreenSaverPhotoChooser.$macUUID.plist
defaults reads /Users/$curuser/Library/Preferences/ByHost/com.apple.ScreenSaver.iLifeSlideShows.$macUUID.plist

do you have a killall cfprefsd somewhere in your script after all of the settings?


@nessts
Hi nes
Yes does, still not work
I gonna be crazy i already dig out this problem 7 hours


Problem solved just the value error in the script


@kenho794 - can you explain your fix. I've been looking to do the same thing. Would love to use your script with a launch daemon to keep it going.


@pblake The only syntax error I spot in the script is the use of



defaults reads


should be



defaults read


towards the end of @kenho794 script. Not sure what he meant by "value error". Is the rest of the community finding that you have to put a script like this into a Launch Agent/Daemon in order for it to stick? Are Configuration Profiles not enforcing the screen saver reliably?


Hi @pblake @ssrussell
That is the whole script for the select photo model screen saver



#!/bin/sh
curuser=ls -l /dev/console | cut -d " " -f 4
if [[ ioreg -rd1 -c IOPlatformExpertDevice | grep -i "UUID" | cut -c27-50 != "00000000-0000-1000-8000-" ]]; then macUUID=ioreg -rd1 -c IOPlatformExpertDevice | grep -i "UUID" | cut -c27-62
fi
defaults write /Users/$curuser/Library/Preferences/com.apple.screensaver.plist askForPasswordDelay -int 0
defaults write /Users/$curuser/Library/Preferences/com.apple.screensaver.plist askForPassword -int 1
rm /Users/$curuser/Library/Preferences/com.apple.screensaver.$macUUID.plist
rm /Users/$curuser/Library/Preferences/com.apple.ScreenSaverPhotoChooser.$macUUID.plist
rm /Users/$curuser/Library/Preferences/com.apple.ScreenSaver.iLifeSlideShows.$macUUID.plist
rm /Users/$curuser/Library/Preferences/ByHost/com.apple.screensaver.$macUUID.plist
rm /Users/$curuser/Library/Preferences/ByHost/com.apple.ScreenSaverPhotoChooser.$macUUID.plist
rm /Users/$curuser/Library/Preferences/ByHost/com.apple.ScreenSaver.iLifeSlideShows.$macUUID.plist
defaults write /Users/$curuser/Library/Preferences/com.apple.screensaver.$macUUID.plist idleTime -string 1200
defaults write /Users/$curuser/Library/Preferences/com.apple.screensaver.$macUUID.plist CleanExit "YES"
defaults write /Users/$curuser/Library/Preferences/com.apple.screensaver.$macUUID.plist moduleDict -dict moduleName "iLifeSlideshows" path "/System/Library/Frameworks/ScreenSaver.framework/Resources/iLifeSlideshows.saver" type -int 0
defaults write /Users/$curuser/Library/Preferences/com.apple.ScreenSaverPhotoChooser.$macUUID.plist identifier "/Users/shared/cbs/"
defaults write /Users/$curuser/Library/Preferences/com.apple.ScreenSaverPhotoChooser.$macUUID.plist LastViewedPhotoPath ""
defaults write /Users/$curuser/Library/Preferences/com.apple.ScreenSaverPhotoChooser.$macUUID.plist SelectedFolderPath "/Users/shared/cbs/"
defaults write /Users/$curuser/Library/Preferences/com.apple.ScreenSaver.iLifeSlideShows.$macUUID.plist styleKey -string Flipup
defaults write /Users/$curuser/Library/Preferences/ByHost/com.apple.screensaver.$macUUID.plist idleTime -string 1200
defaults write /Users/$curuser/Library/Preferences/ByHost/com.apple.screensaver.$macUUID.plist CleanExit "YES"
defaults write /Users/$curuser/Library/Preferences/ByHost/com.apple.screensaver.$macUUID.plist moduleDict -dict moduleName "iLifeSlideshows" path "/System/Library/Frameworks/ScreenSaver.framework/Resources/iLifeSlideshows.saver" type -int 0
defaults write /Users/$curuser/Library/Preferences/ByHost/com.apple.ScreenSaverPhotoChooser.$macUUID.plist identifier "/Users/shared/cbs/"
defaults write /Users/$curuser/Library/Preferences/ByHost/com.apple.ScreenSaverPhotoChooser.$macUUID.plist LastViewedPhotoPath ""
defaults write /Users/$curuser/Library/Preferences/ByHost/com.apple.ScreenSaverPhotoChooser.$macUUID.plist SelectedFolderPath "/Users/shared/cbs/"
defaults write /Users/$curuser/Library/Preferences/ByHost/com.apple.ScreenSaver.iLifeSlideShows.$macUUID.plist styleKey -string Flipup
chown -R $curuser:staff /Users/$curuser/Library/Preferences/ByHost/
chown -R $curuser:staff /Users/$curuser/Library/Preferences/
killall cfprefsd
echo $curuser 006 > /tmp/curuser.txt