Evitar que todas las aplicaciones se vuelvan a abrir cuando OS X falla

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?

¿Realmente quieres que te ayudemos a deshacerte de los errores?
Los bloqueos de @Ruskes pueden ocurrir por muchas razones. La pregunta es válida por sí sola.

Respuestas (4)

Evite permanentemente que macOS High Sierra vuelva a abrir aplicaciones después de reiniciar

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.

método de interfaz gráfica de usuario

  1. Abrir buscador
  2. Cmd+Shift+G(Ir a la carpeta)
  3. Copiar pegar ~/Library/Preferences/ByHost/y confirmar
  4. Encuentre el archivo que comienza concom.apple.loginwindow
  5. Doble clic (se abre en TextEdit)
  6. Elimine todo el contenido y guarde el archivo vacío. Puede aparecer un cuadro de diálogo de confirmación adicional.
  7. Clic derecho, obtener información
  8. Bloquear el archivo (marque la casilla de verificación)

Método GUI (deshacer)

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.

  1. Abrir buscador
  2. Cmd+Shift+G(Ir a la carpeta)
  3. Copiar pegar ~/Library/Preferences/ByHost/y confirmar
  4. Localice el archivo que comienza concom.apple.loginwindow
  5. Simplemente elimínelo

método CLI

  1. Abrir Terminal.aplicación
  2. 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*
    
  3. Eliminar todos los permisos, por lo que no se puede leer ni escribir en

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

Método CLI (deshacer)

  1. Vuelva a habilitar "reabrir todas las aplicaciones" después de iniciar sesión

    sudo rm -f ~/Library/Preferences/ByHost/com.apple.loginwindow*
    
¡Gracias por esta gran respuesta! Funciona bien y no requiere ninguna intervención del usuario, como mantener presionada la tecla [Shift] cuando el sistema se está reiniciando, y es perfecto para sistemas desatendidos como los que se usan para admitir quioscos o pantallas de información que pueden necesitar ejecutar su propio secuencia de inicio predeterminada que puede complicarse si el sistema reinicia las aplicaciones en un orden diferente durante un inicio de sesión automático después de un corte de energía.
@babca: para el método cli, es posible que desee agregar la purga del contenido del archivo como primer paso, por ejemplo:echo > ~/Library/Preferences/ByHost/com.apple.loginwindow*
Funcionó para mí en Big Sur.

Encontré que el enfoque de @babca funciona bien, pero en macOS Catalina para mí fue ligeramente diferente. Tenía dos com.apple.loginwindow.*.plistarchivos ~/Library/Preferences/ByHost/y no eran texto sin formato, com.apple.loginwindow.AB6XXXXX-XXXX-XXXX-XXXX-XXXXXXX5291.plisty 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 TALAppsToRelaunchAtLoginy guardó el archivo.

ingrese la descripción de la imagen aquí

Obtuve información ( ⌘-I) para cada uno en Finder y luego marque la Lockedcasilla de verificación. <array/>Tenga en cuenta que el cuadro de vista previa muestra un interior vacío TALAppsToRelaunchAtLogin.

ingrese la descripción de la imagen aquí

Para deshacer este cambio, repita solo el último paso para cada archivo, pero desactive la Lockedcasilla de verificación.

Presento una solución diferente para satisfacer algunos requisitos adicionales propios que la hacen más versátil. Los requisitos son:

  1. Debe ser desde la línea de comando para que pueda copiar y pegar en lugar de hacer clic torpemente a través de una interfaz de usuario.
  2. Debe ser algo que se pueda poner en un bucle for para que pueda modificar a cada usuario en una máquina. (¿Alguien de DevOps?) Además, el código aún debería ser independiente, sin requerir un bucle for, para que un usuario final pueda ejecutarlo por sí mismo.
  3. Debe ser capaz de manejar el directorio de inicio en una ubicación no estándar.

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
Funciona muy bien en un antiguo macmini de "música" de High Sierra. Ahora es como un reproductor de CD, listo en segundos. Muchas gracias.

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.

No tengo idea de por qué el inicio de sesión seguro fue rechazado aquí. Esta es una solución rápida y elegante para luego volver y hacer cambios permanentes.
Es posible que haya sido rechazado porque no funciona de manera confiable. Nunca funciona para mí.
@bmike porque, como dice la respuesta: no impide que las aplicaciones se vuelvan a abrir. Eso es exactamente lo que preguntó el OP, y eso es exactamente lo que esta respuesta no aborda