Wie deaktiviere ich den App-Neustart und die Fensterwiederherstellung in El Capitan beim Neustart?


19

Wie deaktiviere ich sowohl die Funktion "Apps nach Neustart neu starten" als auch die Funktion "Fenster beim Neustart neu öffnen"? Beim Neustart (sei es nach einem Hard-Reset oder einem Neustart-Befehl) möchte ich einen leeren Desktop sehen und nicht alles, was ich zuvor geöffnet hatte. Wenn ich eine Anwendung öffne, möchte ich auch nicht, dass das Dutzend Dinge, an denen ich zuvor gearbeitet habe, gleichzeitig geöffnet werden.

Antworten:


25

Wenn Sie nach einer Möglichkeit suchen, diese Funktion dauerhaft zu deaktivieren, damit Sie den zusätzlichen Schritt "Deaktivieren des Kontrollkästchens" nicht bei jedem Ausschalten Ihres Computers beachten müssen, können Sie OS X einfach den Zugriff auf die zum Speichern verwendete Datei verweigern Ihr Sitzungsstatus.

In einem Terminal,

# Make the file owned by root (otherwise the OS will just replace it)
sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*

# Remove all permissions, so it can't be read or written to
sudo chmod 000 ~/Library/Preferences/ByHost/com.apple.loginwindow*

Wenn Sie diese Änderung später rückgängig machen und die Funktion wieder aktivieren möchten, weil Sie möglicherweise einen Hirnschaden erlitten haben und das Boot-Looping jetzt amüsant finden, löschen Sie einfach diese Datei, und das Betriebssystem erstellt sie neu.

# Re-enable El Capitan's obnoxious "relaunch all the things" behavior
sudo rm -f ~/Library/Preferences/ByHost/com.apple.loginwindow*

Was für eine großartige Lösung. Das hat mich so lange geärgert, aber ich habe nie die Zeit gebraucht, um zu erforschen, wie ich es dauerhaft stoppen kann.
Brady

Die beste Antwort. Funktioniert auf El Capitan und Sierra.
Darryl E. Clarke

1
Jetzt upvoten, neu starten. Ich werde abstimmen, wenn ich dieses Fenster in 2 Minuten wieder sehe :-)
William Entriken

1
Zwei wichtige Ergänzungen zu dieser Lösung: 1) Möglicherweise müssen Sie eine leere Version dieser Datei löschen und erneut hinzufügen, bevor Sie Berechtigungen ändern können. Andernfalls wird nur das Fenster geöffnet, das zuletzt beibehalten wurde. 2) Möglicherweise müssen Sie auch einige andere Einstellungen ändern , um sicherzustellen, dass Anwendungen nicht so eingestellt sind, dass sie beim Anmelden gestartet werden.
Chuim

4

Der Ansatz, mit dem ich Erfolg hatte, ist im Grunde der Locked-File-Ansatz von John Smfifth, nachdem die Datei geleert wurde. Das Schöne daran ist, dass es ohne Root-Rechte und mit einem einfachen zweizeiligen Shell-Skript durchgeführt werden kann:

# clear the file if it isn't empty
find ~/Library/Preferences/ByHost/ -name 'com.apple.loginwindow*' ! -size 0 -exec tee {} \; < /dev/null
# set the user immutable flag
find ~/Library/Preferences/ByHost/ -name 'com.apple.loginwindow*' -exec chflags uimmutable {} \;

Nach einem kurzen Eintauchen in das findHandbuch: Das Ausrufezeichen im ersten Befehl wird unary notvom Befehl find und nicht von der Erweiterung des Bash-Verlaufs analysiert. Der -size 0Ausdruck wird negiert , sodass nur eine nicht leere Anmeldefensterdatei gefunden wird. Es könnte auch so geschrieben werden -not.
Joe

3

Die einfachste und von mir verwendete Lösung besteht darin, die Datei im Finder zu suchen: ~ / Library / Preferences / ByHost / com.apple.loginwindow

Schließen Sie dann entweder alle Anwendungen, um den Inhalt der oben genannten Dateien zu leeren, oder öffnen Sie die Datei vorzugsweise einfach in der Textbearbeitung und löschen Sie den gesamten Inhalt und speichern Sie ihn.

Wählen Sie dann die Datei im Finder erneut aus, öffnen Sie sie jedoch nicht

Drücken Sie dann die Apple-Taste (neben der Leertaste) + i oder gehen Sie zum Datei-Menü und klicken Sie auf "Get Info". Aktivieren Sie dann im Abschnitt "Allgemein" des angezeigten Informationsfensters das Kontrollkästchen "Gesperrt" (die Datei ist dann gesperrt).

Mit dieser Methode ist es viel einfacher zu aktivieren oder zu deaktivieren, da der Prozess viel einfacher zu merken ist. Gelegentlich verwendeter Terminalcode lässt sich wahrscheinlich nicht leicht merken oder abrufen.


1
Das Problem besteht eher darin, sich den Namen und den Speicherort der Datei zu merken, deren Einstellungen Sie ändern müssen. Wenn Sie wissen, dass für viele Benutzer mit Unix-Hintergrund die Befehle chmod und chown shell und ihre Bedeutung allgemein bekannt sind, obwohl Sie wissen, dass Apple eine "gesperrte" Einstellung erstellt hat, für die sie nicht genau wissen, was dies bedeutet. ist ziemlich esoterisch.
GPVOS

0

Um zu verhindern, dass Anwendungen frühere Dokumente öffnen, gehen Sie zu Systemeinstellungen> Allgemein und aktivieren Sie das Kontrollkästchen Fenster beim Beenden einer App schließen.

Bildbeschreibung hier eingeben

Deaktivieren Sie das Kontrollkästchen im Popup-Fenster "Herunterfahren" oder "Neustart", damit die Apps nach dem Neustart nicht neu gestartet werden:

Bildbeschreibung hier eingeben


5
Ich habe bereits das erste Kontrollkästchen aktiviert und deaktiviere immer das Kontrollkästchen zum erneuten Öffnen. Aber wenn ich aus irgendeinem Grund einen Hard-Reset durchführen muss, werden alle 50 Dinge, die ich hatte, neu gestartet und ich versuche das zu stoppen.
Tattar8

2
Ich würde mich darauf konzentrieren, alles zu beheben, was zu einem Hard-Reset führt. Im Moment bitten Sie den Automechaniker, die Hupe zu reparieren, weil die Bremsen nicht funktionieren.
Tetsujin

3
Das Problem ist, dass MacOS nach einem erzwungenen Herunterfahren oder Absturz weiterhin Fenster öffnet. Mit anderen Worten,
genau

1
@ Tetsujin: Mein System ist stabil, daher tritt die Notwendigkeit eines Hard-Reset in der Regel unregelmäßig und sehr selten auf. Es treten jedoch Fehler auf, sodass die Ursache in der Regel ein einmaliges Problem ist, das sich jedes Mal unterscheidet. Trotzdem möchte ich gerade in einer solchen Zeit nicht die böse Überraschung, dass das System alles wieder öffnet.
GPVOS
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.