Deseleziona "Riapri finestre quando accedi di nuovo" per impostazione predefinita

14

La finestra di spegnimento / riavvio ha una casella di controllo Reopen windows when logging back in che è selezionata per impostazione predefinita. Devo cambiare il suo comportamento per essere deselezionato per impostazione predefinita. È possibile? Se sì, come posso farlo?

    
posta bdhar 12.09.2011 - 09:02
fonte

6 risposte

7

Modifica: dal 10.7.4, la casella "Riapre le finestre quando si effettua il login" è rimasta deselezionata se si deseleziona una volta, quindi gli hack sottostanti non sono più necessari.

Un'opzione è impostare la chiave LoginwindowLaunchesRelaunchApps su false in ~/Library/Preferences/com.apple.loginwindow.plist :

defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false

Puoi anche 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 carica l'elenco delle proprietà eseguendo launchctl load ~/Library/LaunchAgents/logout_saves_state.plist o eseguendo il logout e una seconda volta.

TALLogoutSavesState a volte è stato reimpostato su true quando ho eseguito il logout e ho fatto il back-in, quindi è sufficiente eseguire defaults write com.apple.loginwindow TALLogoutSavesState -bool false una volta non avrebbe funzionato.

Nessuna di queste opzioni fa apparire la casella di controllo deselezionata, ma hanno lo stesso effetto.

    
risposta data 27.10.2011 - 03:09
fonte
2

No, è sempre impostato su "on". Tuttavia esiste uno script che puoi eseguire, che disabilita la funzione. La casella verrà comunque controllata, ma la funzione non funzionerà più:

Incolla quanto segue in una singola 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

Questo comando scarica uno script, lo inserisce nella posizione appropriata, lo rende eseguibile e quindi rimuove il file temporaneo. Se ti stai chiedendo, il contenuto dello script di bash scaricato è il seguente:

#!/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 si desidera ripristinare il comportamento predefinito di questa funzione di OS X Lion, è sufficiente digitare il seguente comando di scrittura dei valori predefiniti:

sudo defaults delete com.apple.loginwindow LoginHook

E tornerai per poter selezionare il ripristino della finestra in base alla scelta di tale casella di controllo.

Fonte: link

    
risposta data 12.09.2011 - 09:16
fonte
2

Questo bug è stato corretto con Aggiornamento Lion 10.7.4 :

The OS X Lion v10.7.4 Update includes fixes that:

Resolve an issue in which the "Reopen windows when logging back in" setting is always enabled.

( fai clic qui per ulteriori informazioni )

    
risposta data 24.12.2011 - 10:20
fonte
1

Per la cronaca, stiamo parlando di questo:

IlproblemaècheOSXnonsiricordasesideselezionalacaselladicontrollosull'ultimospegnimento-manterràsemprelacaselladicontrolloselezionataperimpostazionepredefinitaneglispegnimentisuccessivi.

Hotrovato due diverse soluzioni per questo problema , che sembrano fare il trucco, anche se non lo 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

In questo modo si disabilita l'opzione "riapri le finestre quando si effettua il login", sebbene la casella sembrerà ancora selezionata. Puoi semplicemente ignorarlo.

Temo che non ci sia una soluzione migliore, almeno non al momento.

È anche possibile disabilitare la funzione Resume per ogni app .

C'è anche un'impostazione di sistema che ti permette di disabilitarla per tutte le app, a livello di sistema. Vai a Preferenze di sistema Generale :

Inalternativa,puoieseguirequestocomandoinTerminal.app:

#DisableResumesystem-widedefaultswriteNSGlobalDomainNSQuitAlwaysKeepsWindows-boolfalse

(Tratto dal mio file .osx .)

    
risposta data 21.03.2012 - 12:39
fonte
1

Questo è cambiato nell'aggiornamento per Mac OS X versione 10.7.4.

Resolve an issue where the "Reopen windows when logging back in" setting is always enabled.

Eccolanuovaopzione,comepuoivedere(anchesenonèdiperséunaprovainquantoèfaciledeselezionareequindicatturareloschermo,matipregofidatidime-Eroabbastanzaentusiastaquandohocontrollatoquestoaggiornamentocomequestobugmistavadavveroannoiando!)

    
risposta data 17.05.2012 - 19:57
fonte
0

Deselezionando "Riapri finestre quando si effettua il login" non ho risolto il problema. Le app stavano ancora riaprendo dopo il riavvio da Apple Script o con il comando shutdown in Terminale.

Impedisci definitivamente macOS High Sierra dalla riapertura delle app dopo un riavvio

Funziona in macOS El Capitan, Yosemite, Sierra, High Sierra.

Soluzione: negare a OS X l'accesso al file che utilizza per memorizzare lo stato della sessione. Impedisce la riapertura delle app anche dopo il riavvio / spegnimento da Terminale , da AppleScript e arresto anomalo del sistema.

Metodo GUI

  1. Apri Finder
  2. Cmd+Shift+G (Vai alla cartella)
  3. Copypaste ~/Library/Preferences/ByHost/ e conferma
  4. trova il file che inizia con com.apple.loginwindow
  5. Fai doppio clic (si apre in TextEdit)
  6. Rimuovi tutto il contenuto e salva il file vuoto. Potrebbe apparire un'ulteriore finestra di conferma.
  7. Fai clic con il pulsante destro del mouse, Ottieni informazioni
  8. Blocca il file (seleziona la casella di controllo Locked )

metodo GUI (annulla)

Se desideri annullare questa modifica in un secondo momento e riattivare la funzione, elimina semplicemente questo file e il sistema operativo lo ricrea.

  1. Apri Finder
  2. Cmd+Shift+G (Vai alla cartella)
  3. Copypaste ~/Library/Preferences/ByHost/ e conferma
  4. Trova il file che inizia con com.apple.loginwindow
  5. Basta cancellarlo

Metodo CLI

  1. Apri Terminal.app
  2. Rendi il file di proprietà di root (altrimenti il SO lo sostituirà)

    sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*
    
  3. Rimuovi tutte le autorizzazioni, quindi non può essere letto o scritto in

    sudo chmod 000 ~/Library/Preferences/ByHost/com.apple.loginwindow*
    

Metodo CLI (annulla)

  1. Riattiva "riapri tutte le app" dopo l'accesso

    sudo rm -f ~/Library/Preferences/ByHost/com.apple.loginwindow*
    

risposta data 15.12.2017 - 21:53
fonte

Leggi altre domande sui tag