Deseleziona "Riapri Windows quando accedi nuovamente" per impostazione predefinita


17

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

inserisci qui la descrizione dell'immagine

Risposte:


8

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 LoginwindowLaunchesRelaunchAppschiave 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.plisto disconnettendosi e riconnettendosi una volta.

TALLogoutSavesStatea volte viene ripristinato su true quando mi disconnetto e rientro, quindi eseguire defaults write com.apple.loginwindow TALLogoutSavesState -bool falseuna volta sola non avrebbe funzionato.

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


Ho trovato un motivo per continuare a farlo su 10.7.5: la casella nella finestra di dialogo Riavvia è ora deselezionata per impostazione predefinita e lo stato non viene ripristinato. Ma se ho forzato un riavvio tenendo premuto il pulsante di accensione hardware sul mio MacBook, lo stato ripristinato. Dopo aver applicato questa correzione, al riavvio con il pulsante, al riavvio ora viene visualizzata una finestra di dialogo che dice "Hai chiuso a causa di un problema. Vuoi ripristinare lo stato?", In modo da ottenere un riavvio pulito.
Andrew Janke,


2

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/


Puoi anche disabilitare Riprendi per applicazioni in base all'app. Vedi queste risposte qui.
gentmatt,

Grazie per lo script, risolve una delle "caratteristiche" più fastidiose degli ultimi Mac.
Tobia,

2

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.

inserisci qui la descrizione dell'immagine

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!)

inserisci qui la descrizione dell'immagine


2

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.


1

Per la cronaca, stiamo parlando di questo:

Immagine dello schermo

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 SistemaGenerale :

Immagine dello schermo

In alternativa, puoi eseguire questo comando in Terminal.app:

# Disable Resume system-wide
defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool false

(Tratto dal mio .osxfile.)


TALLogoutSavesStatea volte viene ripristinato su true dopo aver effettuato il logout e il back in. defaults write com.apple.loginwindow TALLogoutSavesState -bool falsedovrebbe essere eseguito all'accesso usando un agente launchd o qualcosa del genere.
Lri

@Lri Sembra funzionare bene per me, anche dopo più logout / riavvii, in combinazione con l' LoginwindowLaunchesRelaunchAppsimpostazione. 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.
Mathias Bynens,

Ho corso di nuovo entrambi, sono uscito e rientrato due volte e sono defaults read com.apple.loginwindow TALLogoutSavesStatetornato 1.
Lri

TALLogoutSavesStatesi imposta ancora vero da solo. Ma solo LoginwindowLaunchesRelaunchApps -bool falseda solo sembra essere sufficiente per disabilitare il ripristino di Windows.
Lri,

0

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.

Impedisci in modo permanente macOS High Sierra di riaprire le app dopo il riavvio

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.

Metodo GUI

  1. Apri Finder
  2. Cmd+Shift+G (Vai alla cartella)
  3. Copia ~/Library/Preferences/ByHost/e conferma
  4. Trova il file che inizia con com.apple.loginwindow
  5. Doubleclick (si apre in TextEdit)
  6. Rimuovi tutto il contenuto e salva il file vuoto. Potrebbe essere visualizzata una finestra di dialogo di conferma aggiuntiva.
  7. Fare clic con il tasto destro, Ottieni informazioni
  8. Blocca il file (seleziona la Lockedcasella di controllo)

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. Copia ~/Library/Preferences/ByHost/e conferma
  4. Individua 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 ​​sistema operativo lo sostituirà)

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

    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*
    

     


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.