Respuestas:
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 LoginwindowLaunchesRelaunchApps
clave 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.plist
o cerrando sesión y volviendo a iniciarla una vez.
TALLogoutSavesState
a 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 false
una vez no hubiera funcionado.
Ninguna de estas opciones hace que la casilla de verificación aparezca sin marcar, pero tienen el mismo efecto.
Este error se ha solucionado con la actualización 10.7.4 de Lion :
La actualización de OS X Lion v10.7.4 incluye correcciones que:
Resuelva un problema en el que la configuración "Reabrir ventanas al volver a iniciar sesión" siempre está habilitada.
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/
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.
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!)
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.
Para el registro, estamos hablando de esto:
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 sistema → General :
Alternativamente, puede ejecutar este comando en Terminal.app:
# Disable Resume system-wide
defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool false
TALLogoutSavesState
a veces se restablece a verdadero después de cerrar sesión y volver a iniciarla. defaults write com.apple.loginwindow TALLogoutSavesState -bool false
necesitaría ejecutarse al iniciar sesión utilizando un agente de launchd o algo así.
LoginwindowLaunchesRelaunchApps
configuració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.
defaults read com.apple.loginwindow TALLogoutSavesState
regresé 1
.
TALLogoutSavesState
todavía se establece en verdadero por sí mismo. Pero solo LoginwindowLaunchesRelaunchApps -bool false
solo parece ser suficiente para deshabilitar la restauración de ventanas.
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.
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.
Cmd+Shift+G
(Ir a la carpeta)~/Library/Preferences/ByHost/
y confirmarcom.apple.loginwindow
Locked
casilla de verificación)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á.
Cmd+Shift+G
(Ir a la carpeta)~/Library/Preferences/ByHost/
y confirmarcom.apple.loginwindow
Cree el archivo propiedad de root (de lo contrario, el sistema operativo simplemente lo reemplazará)
sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*
Elimine 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*