Desactive la opción "Volver a abrir ventanas al iniciar sesión de nuevo"

17

El cuadro de diálogo de apagado / reinicio tiene una casilla de Reopen windows when logging back inverificación que está marcada por defecto. Necesito cambiar su comportamiento para que esté desmarcado por defecto. es posible? En caso afirmativo, ¿cómo puedo hacer eso?

ingrese la descripción de la imagen aquí

bdhar
fuente

Respuestas:

8

Editar: desde 10.7.4, la casilla de verificación "Volver a abrir ventanas al volver a iniciar sesión" no se ha marcado si la desmarca una vez, por lo que los hacks a continuación ya no son necesarios.

Una opción es establecer la LoginwindowLaunchesRelaunchAppsclave en falso en ~/Library/Preferences/com.apple.loginwindow.plist:

defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false

También puede guardar esta lista de propiedades como ~/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>

Luego cargue la lista de propiedades ejecutando launchctl load ~/Library/LaunchAgents/logout_saves_state.plisto cerrando sesión y volviendo a iniciarla una vez.

TALLogoutSavesStatea veces se restablece a verdadero cuando me desconecté y volví a iniciar sesión, por lo que solo ejecutar defaults write com.apple.loginwindow TALLogoutSavesState -bool falseuna vez no hubiera funcionado.

Ninguna de estas opciones hace que la casilla de verificación aparezca sin marcar, pero tienen el mismo efecto.

Lri
fuente
Encontré una razón para seguir haciendo esto en 10.7.5: el cuadro en el cuadro de diálogo Reiniciar ahora está desmarcado de forma predeterminada y el estado no se restaura. Pero si forcé un reinicio presionando el botón de encendido del hardware de mi MacBook, se restableció el estado. Después de aplicar esta corrección, al reiniciar con el botón, ahora aparece un cuadro de diálogo al reiniciar que dice "Cerró debido a un problema. ¿Desea restaurar el estado?", Para que pueda reiniciar sin problemas.
Andrew Janke
2

No, siempre está configurado como "activado". Sin embargo, existe un script que puede ejecutar, que deshabilita la función. La casilla seguirá marcada, pero la función ya no funcionará:

Pegue lo siguiente en una sola línea dentro de la Terminal:

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

Ese comando descarga un script, lo coloca en la ubicación adecuada, lo hace ejecutable y luego elimina el archivo temporal. Si se está preguntando, el contenido del script de bash descargado es el siguiente:

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

Si alguna vez desea volver al comportamiento predeterminado de esta característica de OS X Lion, simplemente escriba el siguiente comando de escritura predeterminado:

sudo defaults delete com.apple.loginwindow LoginHook

Y volverá para poder seleccionar la restauración de la ventana según la opción de esa casilla de verificación.

Fuente: http://osxdaily.com/


fuente
También puede deshabilitar Reanudar para aplicaciones por aplicación. Vea estas respuestas aquí.
gentmatt
Gracias por el script, corrige una de las "características" más molestas de los últimos Mac.
Tobia
2

Esto ha cambiado en Mac OS X Update Version 10.7.4.

Resuelva un problema en el que la configuración "Reabrir ventanas al volver a iniciar sesión" siempre está habilitada.

ingrese la descripción de la imagen aquí

Aquí está la nueva opción, como puede ver (aunque no es una prueba en sí misma, ya que es fácil de desmarcar y luego tomar la pantalla, pero confíe en mí: estaba bastante entusiasmado cuando revisé esta actualización ya que este error era realmente molesto ¡yo!)

ingrese la descripción de la imagen aquí

Graeme Hutchison
fuente
2

Para Mojave, ninguna de las opciones anteriores funcionó para mí, sin embargo, alguien más mencionó lo siguiente, y es suficiente para mí:

Cierre todas las ventanas, excepto la terminal, y ejecute:

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

Terminal y Finder ahora serán las únicas aplicaciones que se abrirán al reiniciar.

Daniel
fuente
1

Para el registro, estamos hablando de esto:

Captura de pantalla

El problema es que OS X no recuerda si desmarca la casilla de verificación en el último apagado; siempre mantendrá la casilla de verificación marcada de forma predeterminada en los cierres posteriores.

Encontré dos soluciones diferentes para este problema , que parecen funcionar, aunque no son ideales.

Abra Terminal.app e ingrese los siguientes comandos:

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

Esto deshabilita efectivamente la opción "reabrir ventanas al volver a iniciar sesión", aunque la casilla de verificación seguirá estando marcada. Puedes ignorarlo.

Me temo que no hay una solución mejor, al menos no por el momento.


También es posible deshabilitar Reanudar por aplicación .

También hay una configuración del sistema que le permite deshabilitarla para todas las aplicaciones, en todo el sistema. Vaya a Preferencias del sistemaGeneral :

Captura de pantalla

Alternativamente, puede ejecutar este comando en Terminal.app:

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

(Tomado de mi .osxarchivo).

Mathias Bynens
fuente
TALLogoutSavesStatea veces se restablece a verdadero después de cerrar sesión y volver a iniciarla. defaults write com.apple.loginwindow TALLogoutSavesState -bool falsenecesitaría ejecutarse al iniciar sesión utilizando un agente de launchd o algo así.
Lri
@ Lri Parece que funciona bien para mí, incluso después de varios cierres de sesión / reinicios, en combinación con la LoginwindowLaunchesRelaunchAppsconfiguración. Recuerdo haber probado los dos por separado, en cuyo caso me topé con los problemas que describiste en tu respuesta. AFAICT, hay algo en la combinación de las dos configuraciones que hace el truco.
Mathias Bynens
Acabo de correr ambos otra vez, salí y volví a entrar dos veces, y defaults read com.apple.loginwindow TALLogoutSavesStateregresé 1.
Lri
TALLogoutSavesStatetodavía se establece en verdadero por sí mismo. Pero solo LoginwindowLaunchesRelaunchApps -bool falsesolo parece ser suficiente para deshabilitar la restauración de ventanas.
Lri
0

Desmarcar "Volver a abrir ventanas al volver a iniciar sesión" no me resolvió el problema. Las aplicaciones seguían reabriendo después de reiniciar desde Apple Script, o con el comando de apagado en la Terminal.

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

Funciona en macOS El Capitan, Yosemite, Sierra, High Sierra.

Solución: niegue el acceso de OS X al archivo que utiliza para almacenar el estado de su sesión. Evita la reapertura de aplicaciones incluso después de reiniciar / apagar desde Terminal , desde AppleScript y el bloqueo del sistema.

Método GUI

  1. Buscador abierto
  2. Cmd+Shift+G (Ir a la carpeta)
  3. Copiar ~/Library/Preferences/ByHost/y confirmar
  4. Encuentra el archivo que comienza con com.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. Haga clic derecho, obtener información
  8. Bloquee el archivo (marque la Lockedcasilla 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 recreará.

  1. Buscador abierto
  2. Cmd+Shift+G (Ir a la carpeta)
  3. Copiar ~/Library/Preferences/ByHost/y confirmar
  4. Busque el archivo que comienza con com.apple.loginwindow
  5. Simplemente bórralo

Método CLI

  1. Abrir Terminal.app
  2. Cree el archivo propiedad de root (de lo contrario, el sistema operativo simplemente lo reemplazará)

    sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*
    
  3. Elimine 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*
    

     


babca
fuente