Manchmal stürzt mein Computer aufgrund unbekannter Fehler ab und startet neu. Es passiert normalerweise, wenn ich an etwas arbeite, also ein paar Apps geöffnet sind. OS X hat diese lästige Funktion, bei der es versucht, alle Apps beim Neustart neu zu öffnen. Sie können es beim manuellen Neustart deaktivieren, aber es tut es immer noch, wenn der Computer nach einem Absturz neu gestartet wird.
Ich denke, diese Funktion wurde entwickelt, um Zeit zu sparen, aber sie verschwendet nur mehr Zeit, als sie wert ist, denn wenn der Computer nach einem Absturz neu gestartet wird, starte ich ihn normalerweise einfach noch einmal neu (diesmal mit deaktivierter Option „Apps erneut öffnen“), nur um zu bekommen in einen arbeitsfähigen Zustand. Das Problem ist, dass es weiterhin Apps spawnt und den Neustart verhindert.
Das Deaktivieren dieser Funktion würde verhindern, dass ich nach einem Absturz komplett neu starten muss. Gibt es eine Möglichkeit, OS X daran zu hindern?
Funktioniert in macOS El Capitan, Yosemite, Sierra, High Sierra.
Lösung: Verweigern Sie OS X den Zugriff auf die Datei, die zum Speichern Ihres Sitzungsstatus verwendet wird. Es verhindert das erneute Öffnen von Apps auch nach dem Neustart/Herunterfahren von Terminal , von AppleScript und einem Systemabsturz.
Cmd+Shift+G
(Zum Ordner gehen)~/Library/Preferences/ByHost/
und bestätigencom.apple.loginwindow
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.
Cmd+Shift+G
(Zum Ordner gehen)~/Library/Preferences/ByHost/
und bestätigencom.apple.loginwindow
Machen Sie die Datei zu Root (andernfalls wird das Betriebssystem sie einfach ersetzen)
sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*
Entfernen Sie alle Berechtigungen, sodass weder gelesen noch geschrieben werden kann
sudo chmod 000 ~/Library/Preferences/ByHost/com.apple.loginwindow*
Aktivieren Sie „Alle Apps erneut öffnen“ nach der Anmeldung erneut
sudo rm -f ~/Library/Preferences/ByHost/com.apple.loginwindow*
echo > ~/Library/Preferences/ByHost/com.apple.loginwindow*
Ich fand, dass der Ansatz von @babca gut funktioniert, aber unter macOS Catalina war es für mich etwas anders. Ich hatte zwei com.apple.loginwindow.*.plist
Dateien drin ~/Library/Preferences/ByHost/
und sie waren kein reiner Text - com.apple.loginwindow.AB6XXXXX-XXXX-XXXX-XXXX-XXXXXXX5291.plist
und com.apple.loginwindow.111XXXXX-XXXX-XXXX-XXXX-XXXXXXXXAC43.plist
.
Also habe ich die folgenden zwei Schritte für jede Datei durchgeführt:
Öffnete ( ⌘-O
) jeden Finder in XCode (der Standard, glaube ich in Catalina), entfernte alle Einträge unter TALAppsToRelaunchAtLogin
und speicherte die Datei.
Haben Sie Info ( ⌘-I
) für jeden im Finder und aktivieren Sie dann das Kontrollkästchen Locked
. Beachten Sie, dass im Vorschaufeld ein leeres <array/>
Inneres angezeigt wird TALAppsToRelaunchAtLogin
.
Um diese Änderung rückgängig zu machen, wiederholen Sie nur den letzten Schritt für jede Datei, aber deaktivieren Sie das Locked
Kontrollkästchen.
Ich führe eine andere Lösung ein, um einige meiner zusätzlichen Anforderungen zu erfüllen, die sie vielseitiger machen. Die Anforderungen sind:
Mit Hilfe des hier befindlichen Codes habe ich mir Folgendes ausgedacht, das mindestens in sh und bash auf Catalina und Big Sur funktioniert ...
# set user name, machine uuid, and home dir
someUser=$(stat -f%Su /dev/console)
machineUUID=$(ioreg -rd1 -c IOPlatformExpertDevice | awk -F'"' '/IOPlatformUUID/{print $4}')
homeDir=$(dscacheutil -q user -a name ${someUser} | grep 'dir:' | awk '{print $2}')
# delete the plist array
/usr/libexec/PlistBuddy -c 'Delete :TALAppsToRelaunchAtLogin' ${homeDir}/Library/Preferences/ByHost/com.apple.loginwindow.${machineUUID}.plist
# make the file readonly
chflags uimmutable ${homeDir}/Library/Preferences/ByHost/com.apple.loginwindow.${machineUUID}.plist
Versuchen Sie, gedrückt zu halten, Shiftwenn Sie das Anmeldefenster sehen, und lassen Sie es los, wenn das Dock angezeigt wird.
Dies verhindert, dass Elemente in Ihren Anmeldeelementen gestartet werden, wenn Sie sich anmelden, verhindert jedoch nicht, dass Apps fortgesetzt werden.
Zwieback
hmedia1