OS X: login automatico protetto da password
Cercavo da un po' di tempo un modo per far caricare i programmi all'avvio ancor prima di mettere la password al login. Mac OS X non supporta nativamente questa funzionalità, ma si può usare un piccolo stratagemma.
Andando su Preferenze di sistema → Sicurezza e Privacy
- Spuntare la richiesta della password Immediatamente dopo lo stop o l'avvio del salvaschermo
- Togliere la spunta al campo "Disabilita login automatico"
Per controllare se tutto è stato fatto nel modo corretto...
MacPro:~ andre$ defaults read /Library/Preferences/com.apple.loginwindow autoLoginUser NOME_UTENTE MacPro:~ andre$ defaults read com.apple.screensaver { askForPassword = 1; askForPasswordDelay = 0; }
Inserire queste stringe in un file chiamato com.luomat.loginhook-2.plist, da inserire in ~/Library/LaunchAgents/
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
<plist version="1.0">
<dict>
<key>AbandonProcessGroup</key>
<true/>
<key>Label</key>
<string>com.luomat.loginhook</string>
<key>ProgramArguments</key>
<array>
<string>/Users/NOME_UTENTE/.loginhook</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Creare un file ~/.loginhook inserendo quanto segue:
#!/bin/bash trap '' 1 2 3 6 14 15 open -a ScreenSaverEngine exit 0
Impostiamo i permessi per eseguire il file digitando da terminale
chmod +x ~/.loginhook
Metodo alternativo
Anziché attivare lo screensaver si può forzare il cambio rapido utente basta quindi sostituire la linea
open -a ScreenSaverEngine
con questa:
(exec "/System/Library/CoreServices/Menu Extras/User.menu/Contents/Resources/CGSession" -suspend )
Metodo alternativo per i piu‘ pigri
Dopo aver attivato l'autologin dalle preferenze di sistema, lanciare questo comando da terminale:
curl http://l.sosso.me/M0OcDX -L -s -o ~/Library/LaunchAgents/com.luomat.loginhook-2.plist
Ora non resta che riavviare il computer e controllare che tutto sia andato per il meglio.