Voglio cambiare questi comportamenti dal terminale:
- Auto-login
- Visualizzazione della password dopo lo screensaver e la modalità di sospensione
- Vai in modalità sospensione dopo x minuti
- Abilita screensaver dopo x minuti
Voglio cambiare questi comportamenti dal terminale:
1) Accesso automatico
Questo è difficile. L'impostazione predefinita è salvata in
defaults read /Library/Preferences/com.apple.loginwindow autoLoginUser
Ma per accenderlo o spegnerlo, devi farlo come root.
Imposta:
sudo defaults write /Library/Preferences/com.apple.loginwindow autoLoginUser ShortName
Elimina (spegni):
sudo defaults delete /Library/Preferences/com.apple.loginwindow autoLoginUser
2) Visualizzazione della password dopo lo screensaver e la modalità di sospensione
Ho cercato di farlo funzionare, e non posso
Vedrai un sacco di suggerimenti che ti dicono che la risposta è
defaults write com.apple.screensaver askForPassword 1
o varianti come
defaults -currentHost write com.apple.screensaver askForPassword -int 1
e che dovrebbe funzionare, perché se lo spegni tramite le Preferenze di Sistema, vedrai:
% defaults read com.apple.screensaver
{
askForPassword = 0;
askForPasswordDelay = 0;
tokenRemovalAction = 0;
}
e quindi se lo riattivi tramite Preferenze di Sistema, vedrai
% defaults read com.apple.screensaver
{
askForPassword = 1;
askForPasswordDelay = 0;
tokenRemovalAction = 0;
}
MA se lo spegni e le uscite Preferenze di sistema e cambi le impostazioni usando 'default write', quando rilancio le Preferenze di Sistema, non riflette che cambiamento.
Mi piacerebbe davvero conoscere la risposta a quello (preferibilmente senza osascript, ma se non c'è altro modo, lo accetterò).
3) Passa alla modalità sospensione dopo x minuti
Supponendo che tu intenda "il computer andare in stop dopo x minuti" che desideri:
sudo pmset sleep 20
Puoi anche utilizzare impostazioni diverse specificatamente per quando sei a batteria (per MacBook):
sudo pmset -b sleep 10
Se vuoi specificare di non dormire mai quando collegato, usa
sudo pmset -c sleep 0
4) Abilita screensaver dopo x minuti
@ La raccomandazione di Daniel ha funzionato per me:
sudo osascript -e 'tell application "System Events" to set delay interval of screen saver preferences to 30'
Puoi usare 'sudo pmset displaysleep X' per far dormire lo schermo invece di usare lo screensaver.
Il comando osascript e l'applicazione System Events sono i tuoi amici qui. Fondamentalmente, chiamerai AppleScript dalla riga di comando.
Ad esempio,
sudo osascript -e 'tell application "System Events" to set delay interval of screen saver preferences to 30'
sudo osascript -e 'tell application "System Events" to set automatic login of security preferences to false'
sudo osascript -e 'tell application "System Events" to set require password to wake of security preferences to true'
Il primo imposta lo screensaver su 30 secondi dopo l'ultima azione; il secondo disabilita l'autologin. Il terzo richiede una password per uscire dallo screensaver o svegliarsi dal sonno (le impostazioni per le due sono collegate). Esplorare il dizionario degli eventi di sistema ti aiuterà a mettere insieme le specifiche che stai cercando.
/Library/Preferences/com.apple.screensaver.plist
contiene le impostazioni a livello di sistema che si applicano quando un account utente non ha già un'impostazione per una determinata funzione in ~/Library/Preferences/ByHost/com.apple.screensaver.MACADDRESS.plist
.
Per scrivere nel file di sistema in /Library
usa
defaults write Library/Preferences/com.apple.screensaver
Per scrivere sul file dell'utente corrente usa
defaults write com.apple.screensaver
Il valore per una determinata impostazione nel file dell'utente ha la priorità sul valore per la stessa impostazione nel file di sistema.