Risposte:
Modifica: dal 10.7.4, la casella di controllo "Riapri le finestre quando accedi nuovamente" è rimasta deselezionata se la deselezioni una volta, quindi gli hack di seguito non sono più necessari.
Un'opzione è impostare la LoginwindowLaunchesRelaunchApps
chiave su false in ~/Library/Preferences/com.apple.loginwindow.plist
:
defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false
È inoltre possibile salvare questo elenco di proprietà come ~/Library/LaunchAgents/logout_saves_state.plist
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
<key>Label</key>
<string>logout_saves_state</string>
<key>ProgramArguments</key>
<array>
<string>defaults</string>
<string>write</string>
<string>com.apple.loginwindow</string>
<string>TALLogoutSavesState</string>
<string>-bool</string>
<string>false</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Quindi caricare l'elenco delle proprietà eseguendo launchctl load ~/Library/LaunchAgents/logout_saves_state.plist
o disconnettendosi e riconnettendosi una volta.
TALLogoutSavesState
a volte viene ripristinato su true quando mi disconnetto e rientro, quindi eseguire defaults write com.apple.loginwindow TALLogoutSavesState -bool false
una volta sola non avrebbe funzionato.
Nessuna di queste opzioni in realtà fa apparire la casella deselezionata, ma hanno lo stesso effetto.
Questo errore è stato corretto con l' aggiornamento Lion 10.7.4 :
L'aggiornamento OS X Lion v10.7.4 include correzioni che:
Risolvi un problema in cui l'impostazione "Riapri le finestre quando accedi nuovamente" è sempre abilitata.
No, è sempre impostato su "on". Tuttavia esiste uno script che è possibile eseguire, che disabilita la funzione. La casella sarà comunque selezionata, ma la funzione non funzionerà più:
Incolla quanto segue in un'unica riga all'interno del Terminale:
curl http://goo.gl/Z4EFC -L -s -o ~/fixlogin.sh && chmod +x ~/fixlogin.sh && sudo ~/fixlogin.sh ; rm ~/fixlogin.sh
Tale comando scarica uno script, lo posiziona nella posizione appropriata, lo rende eseguibile e quindi rimuove il file temporaneo. Se ti stai chiedendo, i contenuti dello script bash scaricato sono i seguenti:
#!/bin/bash
echo "#!/bin/bash" > /tmp/loginfix.sh
echo "rm /Users/*/Library/Preferences/ByHost/com.apple.loginwindow.*" >> /tmp/loginfix.sh
mv /tmp/loginfix.sh /usr/bin/loginfix.sh
chmod +x /usr/bin/loginfix.sh
defaults write com.apple.loginwindow LoginHook /usr/bin/loginfix.sh
Se vuoi tornare al comportamento predefinito di questa funzionalità di OS X Lion, digita il seguente comando di scrittura predefinito:
sudo defaults delete com.apple.loginwindow LoginHook
E tornerai a essere in grado di selezionare il ripristino della finestra in base alla scelta di quella casella di controllo.
Fonte: http://osxdaily.com/
Questo è cambiato in Mac OS X Update versione 10.7.4.
Risolvi un problema in cui l'impostazione "Riapri le finestre quando accedi nuovamente" è sempre abilitata.
Ecco la nuova opzione, come puoi vedere (anche se non è una prova in sé poiché è facile da deselezionare e quindi catturare lo schermo, ma per favore fidati di me - Ero piuttosto entusiasta quando ho controllato questo aggiornamento perché questo bug era davvero fastidioso me!)
Per Mojave, nessuna delle opzioni sopra ha funzionato per me, tuttavia, qualcun altro ha menzionato quanto segue ed è sufficiente per me:
Chiudi tutte le finestre, tranne il terminale, ed esegui:
chflags uimmutable $HOME/Library/Preferences/ByHost/com.apple.loginwindow.*
Terminal e Finder ora saranno le uniche app che si apriranno al riavvio.
Per la cronaca, stiamo parlando di questo:
Il problema è che OS X non ricorda se si deseleziona la casella di controllo sull'ultimo arresto: manterrà sempre la casella di controllo selezionata per impostazione predefinita sugli arresti successivi.
Ho trovato due diverse soluzioni per questo problema , che sembrano fare il trucco, anche se non sono l'ideale.
Apri Terminal.app e inserisci i seguenti comandi:
defaults write com.apple.loginwindow TALLogoutSavesState -bool false
defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false
Ciò disabilita efficacemente l'opzione "riapri le finestre quando accedi nuovamente", sebbene la casella di controllo sembrerà comunque essere selezionata. Puoi semplicemente ignorarlo.
Temo che non ci sia soluzione migliore, almeno non al momento.
È possibile disabilitare Riprendi anche su base per-app .
C'è anche un'impostazione di sistema che ti consente di disabilitarla per tutte le app, a livello di sistema. Vai a Preferenze di Sistema → Generale :
In alternativa, puoi eseguire questo comando in Terminal.app:
# Disable Resume system-wide
defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool false
TALLogoutSavesState
a volte viene ripristinato su true dopo aver effettuato il logout e il back in. defaults write com.apple.loginwindow TALLogoutSavesState -bool false
dovrebbe essere eseguito all'accesso usando un agente launchd o qualcosa del genere.
LoginwindowLaunchesRelaunchApps
impostazione. Ricordo di aver provato i due separatamente, nel qual caso mi sono imbattuto nei problemi che hai descritto nella tua risposta. AFAICT, c'è qualcosa nella combinazione delle due impostazioni che fa il trucco.
defaults read com.apple.loginwindow TALLogoutSavesState
tornato 1
.
TALLogoutSavesState
si imposta ancora vero da solo. Ma solo LoginwindowLaunchesRelaunchApps -bool false
da solo sembra essere sufficiente per disabilitare il ripristino di Windows.
Deselezionando "Riapri Windows al momento del login" non ho risolto il problema per me. Le app stavano ancora riaprendo dopo il riavvio da Apple Script o con il comando di arresto in Terminale.
Funziona in macOS El Capitan, Yosemite, Sierra, High Sierra.
Soluzione: negare a OS X l'accesso al file utilizzato per memorizzare lo stato della sessione. Impedisce la riapertura delle app anche dopo il riavvio / arresto dal Terminale , da AppleScript e l'arresto anomalo del sistema.
Cmd+Shift+G
(Vai alla cartella)~/Library/Preferences/ByHost/
e confermacom.apple.loginwindow
Locked
casella di controllo)Se desideri annullare questa modifica in un secondo momento e riattivare la funzione, elimina semplicemente questo file e il sistema operativo lo ricrea.
Cmd+Shift+G
(Vai alla cartella)~/Library/Preferences/ByHost/
e confermacom.apple.loginwindow
Rendi il file di proprietà di root (altrimenti il sistema operativo lo sostituirà)
sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*
Rimuovi tutte le autorizzazioni, quindi non può essere letto o scritto
sudo chmod 000 ~/Library/Preferences/ByHost/com.apple.loginwindow*
Riattiva "riapri tutte le app" dopo l'accesso
sudo rm -f ~/Library/Preferences/ByHost/com.apple.loginwindow*