A veces, mi computadora falla y se reinicia debido a errores desconocidos. Por lo general, sucede cuando estoy trabajando en algo, por lo que algunas aplicaciones están abiertas. OS X tiene esta característica molesta en la que intenta reabrir todas las aplicaciones cuando reinicias. Puede deshabilitarlo cuando se reinicia manualmente, pero aún lo hace si la computadora se reinicia después de un bloqueo.
Creo que esta función se creó para ahorrar tiempo, pero todo lo que hace es perder más tiempo del que vale, porque cada vez que la computadora se reinicia después de un bloqueo, generalmente solo lo reinicio una vez más (esta vez con "Reabrir aplicaciones" deshabilitado) solo para obtener a un estado viable. El problema es que seguirá generando aplicaciones y evitando que se reinicie.
Deshabilitar esta función me evitaría tener que reiniciar por completo después de un bloqueo. ¿Hay alguna manera de evitar que OS X haga esto?
Funciona en macOS El Capitan, Yosemite, Sierra, High Sierra.
Solución: deniegue el acceso de OS X al archivo que utiliza para almacenar el estado de su sesión. Impide la reapertura de aplicaciones incluso después de reiniciar/apagar desde Terminal , desde AppleScript y bloqueo del sistema.
Cmd+Shift+G
(Ir a la carpeta)~/Library/Preferences/ByHost/
y confirmarcom.apple.loginwindow
Si desea deshacer este cambio más tarde y volver a habilitar la función, simplemente elimine este archivo y el sistema operativo lo volverá a crear.
Cmd+Shift+G
(Ir a la carpeta)~/Library/Preferences/ByHost/
y confirmarcom.apple.loginwindow
Haga que el archivo sea propiedad de root (de lo contrario, el sistema operativo simplemente lo reemplazará)
sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*
Eliminar todos los permisos, por lo que no se puede leer ni escribir en
sudo chmod 000 ~/Library/Preferences/ByHost/com.apple.loginwindow*
Vuelva a habilitar "reabrir todas las aplicaciones" después de iniciar sesión
sudo rm -f ~/Library/Preferences/ByHost/com.apple.loginwindow*
echo > ~/Library/Preferences/ByHost/com.apple.loginwindow*
Encontré que el enfoque de @babca funciona bien, pero en macOS Catalina para mí fue ligeramente diferente. Tenía dos com.apple.loginwindow.*.plist
archivos ~/Library/Preferences/ByHost/
y no eran texto sin formato, com.apple.loginwindow.AB6XXXXX-XXXX-XXXX-XXXX-XXXXXXX5291.plist
y com.apple.loginwindow.111XXXXX-XXXX-XXXX-XXXX-XXXXXXXXAC43.plist
.
Así que hice los siguientes dos pasos para cada archivo:
Abrió ( ⌘-O
) cada Finder en XCode (creo que el predeterminado en Catalina), eliminó todas las entradas debajo TALAppsToRelaunchAtLogin
y guardó el archivo.
Obtuve información ( ⌘-I
) para cada uno en Finder y luego marque la Locked
casilla de verificación. <array/>
Tenga en cuenta que el cuadro de vista previa muestra un interior vacío TALAppsToRelaunchAtLogin
.
Para deshacer este cambio, repita solo el último paso para cada archivo, pero desactive la Locked
casilla de verificación.
Presento una solución diferente para satisfacer algunos requisitos adicionales propios que la hacen más versátil. Los requisitos son:
Con la ayuda del código que se encuentra aquí , se me ocurrió lo siguiente, que funciona en sh y bash en Catalina y Big Sur como mínimo...
# 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
Intente mantener presionado Shiftcuando vea la ventana de inicio de sesión y suéltelo cuando aparezca el Dock.
Esto evita que los elementos de sus elementos de inicio de sesión se inicien cuando inicia sesión, pero no impide que las aplicaciones se reanuden.
Ruscos
hmedia1