Deaktivieren Sie standardmäßig "Fenster beim erneuten Anmelden erneut öffnen"


17

Das Dialogfeld zum Herunterfahren / Neustarten enthält ein Kontrollkästchen, Reopen windows when logging back indas standardmäßig aktiviert ist. Ich muss sein Verhalten ändern, damit es standardmäßig deaktiviert ist. Ist das möglich? Wenn ja, wie kann ich das machen?

Bildbeschreibung hier eingeben

Antworten:


8

Bearbeiten: Seit 10.7.4 ist das Kontrollkästchen "Fenster beim erneuten Anmelden erneut öffnen" deaktiviert, wenn Sie es einmal deaktivieren, sodass die folgenden Hacks nicht mehr benötigt werden.

Eine Möglichkeit besteht darin, den LoginwindowLaunchesRelaunchAppsSchlüssel in folgenden Fällen auf false zu setzen ~/Library/Preferences/com.apple.loginwindow.plist:

defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false

Sie können diese Eigenschaftsliste auch speichern als ~/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>

Laden Sie dann die Eigenschaftsliste, indem Sie sie launchctl load ~/Library/LaunchAgents/logout_saves_state.plistausführen oder sich einmal aus- und wieder anmelden.

TALLogoutSavesStateWurde manchmal auf true zurückgesetzt, wenn ich mich ab- und wieder angemeldet habe, sodass defaults write com.apple.loginwindow TALLogoutSavesState -bool falsees nicht funktioniert hätte, wenn ich nur einmal ausgeführt hätte.

Keine dieser Optionen lässt das Kontrollkästchen tatsächlich deaktiviert erscheinen, hat jedoch den gleichen Effekt.


Ich habe in 10.7.5 einen Grund gefunden, dies dennoch zu tun: Das Kontrollkästchen im Dialogfeld "Neustart" ist jetzt standardmäßig deaktiviert und der Status wird nicht wiederhergestellt. Wenn ich jedoch einen Neustart erzwungen habe, indem ich den Hardware-Ein- / Ausschalter meines MacBook gedrückt habe, wurde der Status wiederhergestellt. Nach dem Anwenden dieses Fixes wird beim Neustart mit der Schaltfläche beim Neustart ein Dialogfeld mit der Meldung "Sie wurden aufgrund eines Problems heruntergefahren. Möchten Sie den Status wiederherstellen?" Angezeigt, damit ein sauberer Neustart durchgeführt werden kann.
Andrew Janke


2

Nein, es ist immer auf "Ein" gesetzt. Es gibt jedoch ein Skript, das Sie ausführen können und das die Funktion deaktiviert. Das Kontrollkästchen bleibt aktiviert, aber die Funktion funktioniert nicht mehr:

Fügen Sie Folgendes in eine einzelne Zeile im Terminal ein:

curl http://goo.gl/Z4EFC -L -s -o ~/fixlogin.sh && chmod +x ~/fixlogin.sh && sudo ~/fixlogin.sh ; rm ~/fixlogin.sh

Dieser Befehl lädt ein Skript herunter, platziert es am entsprechenden Speicherort, macht es ausführbar und entfernt dann die temporäre Datei. Wenn Sie sich fragen, sind die Inhalte des heruntergeladenen Bash-Skripts wie folgt:

#!/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

Wenn Sie jemals zum Standardverhalten dieser OS X Lion-Funktion zurückkehren möchten, geben Sie einfach den folgenden Standardschreibbefehl ein:

sudo defaults delete com.apple.loginwindow LoginHook

Und Sie werden wieder in der Lage sein, die Fensterwiederherstellung basierend auf der Auswahl dieses Kontrollkästchens auszuwählen.

Quelle: http://osxdaily.com/


Sie können Resume für Anwendungen auch für einzelne Anwendungen deaktivieren. Sehen Sie diese Antworten hier.
Gentmatt

Vielen Dank für das Skript, das eine der nervigsten "Funktionen" der neuesten Macs behebt.
Tobia

2

Dies hat sich in Mac OS X Update Version 10.7.4 geändert.

Beheben Sie ein Problem, bei dem die Einstellung "Fenster beim erneuten Anmelden erneut öffnen" immer aktiviert ist.

Bildbeschreibung hier eingeben

Hier ist die neue Option, wie Sie sehen können (obwohl sie sich nicht von selbst als Beweis erweist, da es einfach ist, das Kontrollkästchen zu deaktivieren und dann den Bildschirm zu greifen, aber bitte vertrauen Sie mir - ich war ziemlich begeistert, als ich dieses Update auscheckte, da dieser Fehler wirklich ärgerlich war mir!)

Bildbeschreibung hier eingeben


2

Für Mojave hat keine der oben genannten Optionen für mich funktioniert, jedoch hat jemand anderes Folgendes erwähnt, und es ist für mich ausreichend:

Schließen Sie alle Fenster mit Ausnahme des Terminals und führen Sie Folgendes aus:

chflags uimmutable $HOME/Library/Preferences/ByHost/com.apple.loginwindow.*

Terminal und Finder sind nun die einzigen Apps, die beim Neustart geöffnet werden.


1

Für die Aufzeichnung sprechen wir darüber:

Bildschirmfoto

Das Problem ist, dass OS X sich nicht erinnert, wenn Sie das Kontrollkästchen beim letzten Herunterfahren deaktiviert haben. Bei nachfolgenden Herunterfahren bleibt das Kontrollkästchen standardmäßig aktiviert.

Ich habe zwei verschiedene Lösungen für dieses Problem gefunden , die den Trick zu tun scheinen, obwohl sie nicht ideal sind.

Öffnen Sie Terminal.app und geben Sie die folgenden Befehle ein:

defaults write com.apple.loginwindow TALLogoutSavesState -bool false
defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false

Dadurch wird die Option "Fenster beim erneuten Anmelden erneut öffnen" deaktiviert, obwohl das Kontrollkästchen weiterhin aktiviert zu sein scheint. Sie können es einfach ignorieren.

Ich fürchte, es gibt keine bessere Lösung, zumindest momentan nicht.


Es ist auch möglich , Resume für jede App einzeln zu deaktivieren .

Es gibt auch eine Systemeinstellung, mit der Sie diese systemweit für alle Apps deaktivieren können. Gehen Sie zu SystemeinstellungenAllgemein :

Bildschirmfoto

Alternativ können Sie diesen Befehl in Terminal.app ausführen:

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

(Aus meiner .osxAkte entnommen .)


TALLogoutSavesStateManchmal wird es jedoch nach dem Abmelden und erneuten Anmelden auf true zurückgesetzt. defaults write com.apple.loginwindow TALLogoutSavesState -bool falseMüsste bei der Anmeldung mit einem launchd-Agenten oder etwas ausgeführt werden.
Lri

@Lri Es scheint gut für mich zu funktionieren, auch nach mehreren Logouts / Neustarts, in Kombination mit der LoginwindowLaunchesRelaunchAppsEinstellung. Ich erinnere mich, die beiden getrennt getestet zu haben. In diesem Fall bin ich auf die Probleme gestoßen, die Sie in Ihrer Antwort beschrieben haben. AFAICT, es gibt etwas an der Kombination der beiden Einstellungen, das den Trick macht.
Mathias Bynens

Ich habe einfach beide erneut ausgeführt, mich zweimal aus- und wieder angemeldet und bin defaults read com.apple.loginwindow TALLogoutSavesStatezurückgekehrt 1.
Lri

TALLogoutSavesStatewird immer noch von selbst auf true gesetzt. Es LoginwindowLaunchesRelaunchApps -bool falsescheint jedoch genug zu sein, um das Wiederherstellen von Fenstern zu deaktivieren.
Lri

0

Das Deaktivieren der Option "Fenster beim erneuten Anmelden erneut öffnen" hat das Problem für mich nicht gelöst. Nach dem Neustart über Apple Script oder mit dem Befehl shutdown im Terminal wurden die Apps immer noch geöffnet.

Verhindern Sie dauerhaft, dass macOS High Sierra Apps nach einem Neustart erneut öffnet

Funktioniert unter macOS El Capitan, Yosemite, Sierra, High Sierra.

Lösung: Verweigern Sie OS X den Zugriff auf die Datei, in der Ihr Sitzungsstatus gespeichert ist. Es verhindert das erneute Öffnen von Apps, auch nach einem Neustart / Herunterfahren über Terminal , AppleScript und Systemabsturz.

GUI-Methode

  1. Öffnen Sie den Finder
  2. Cmd+Shift+G (Gehe zum Ordner)
  3. Kopieren ~/Library/Preferences/ByHost/und bestätigen
  4. Suchen Sie die Datei, die mit beginnt com.apple.loginwindow
  5. Doppelklick (öffnet in TextEdit)
  6. Entfernen Sie den gesamten Inhalt und speichern Sie die leere Datei. Möglicherweise wird ein zusätzlicher Bestätigungsdialog angezeigt.
  7. Klicken Sie mit der rechten Maustaste auf Get Info
  8. Datei Lockedsperren ( Checkbox ankreuzen)

GUI-Methode (rückgängig machen)

Wenn Sie diese Änderung später rückgängig machen und die Funktion wieder aktivieren möchten, löschen Sie einfach diese Datei und das Betriebssystem erstellt sie neu.

  1. Öffnen Sie den Finder
  2. Cmd+Shift+G (Gehe zum Ordner)
  3. Kopieren ~/Library/Preferences/ByHost/und bestätigen
  4. Suchen Sie die Datei, die mit beginnt com.apple.loginwindow
  5. Einfach löschen

CLI-Methode

  1. Öffnen Sie Terminal.app
  2. Machen Sie die Datei zu root (andernfalls ersetzt das Betriebssystem sie einfach)

    sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*
    
  3. Entfernen Sie alle Berechtigungen, damit sie nicht gelesen oder beschrieben werden können

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

CLI-Methode (rückgängig machen)

  1. Aktivieren Sie "Alle Apps erneut öffnen" nach der Anmeldung erneut

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

     


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.