Configurazione automatica dello screensaver nella riga di comando / script di shell

1

Quindi sto configurando alcuni LaunchAgent di Default User Template per configurare uno screensaver predefinito per alcuni dei fan art più famosi della mia azienda. (E 'stato davvero molto ben accolto dal team). Sono progettati come immagini di prima esecuzione quando accedono agli utenti di Active Directory locali forzati.

Tuttavia, sto ottenendo risultati molto incoerenti ora ... cioè non funziona affatto.

Il .plist lancia uno script di shell che si trova nella cartella / sbin /. La cosa strana è che funziona principalmente in un utente esistente.

Lo screensaver ha lo scopo di utilizzare "Flipup" con una cartella specifica di immagini, mescolare le immagini e impostare un'ora di inizio di 5 minuti.

Ad esempio, ho intenzionalmente impostato il mio salvaschermo "utente di configurazione predefinito" su "Holiday Mobile", imposta la selezione delle immagini su "Cosmos" (una delle impostazioni predefinite) con un'ora di inizio di 20 minuti e "immagini shuffle" deselezionate ". Poi l'ho cambiato in "Arabesque".

Quando mi sono disconnesso e ho effettuato il login per dare il via allo script, il risultato è stato ottenere "Holiday Mobile". Tuttavia, quando sono passato a "Impostazioni desktop e salvaschermo", "Arabesque" è stato effettivamente selezionato anche se l'anteprima di "Holiday Mobile" era visualizzata in grigio con "Opzioni salvaschermo" in basso. (Tuttavia, l'ora di inizio è cambiata in 5 minuti e quando ho fatto clic su "Holiday Mobile", "Shuffle Slide Order" è stato controllato correttamente.)

Quindi, nel test user, va a Fan Art, attivando Shuffle e cambiando il tempo.

Ma quando creo un nuovo utente dopo aver aggiunto il LaunchAgent .plist al modello utente predefinito, non ottengo altro che lo screensaver standard "Nome computer" su uno sfondo nero.

Sono totalmente confuso sul perché questo si sta verificando. Qualche suggerimento?

Ecco lo script della 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

'' '

    
posta ghostof101 13.05.2015 - 19:38
fonte

1 risposta

1

Quindi, grazie a JAMF, un uomo molto saggio mi ha mostrato una cosa molto semplice che avevo bisogno di aggiungere alla fine della mia sceneggiatura:

killall cfprefsd

Risolto il problema completamente. Mentre se vai in Preferenze di Sistema, mostra ancora il vecchio salvaschermo che viene selezionato, funziona.

    
risposta data 14.05.2015 - 19:42
fonte

Leggi altre domande sui tag