Todos sabemos que Mac OS X tiene la funcionalidad muy útil de Elementos de inicio de sesión que le permite, entre otras cosas, configurar aplicaciones / scripts para que se ejecuten cuando inicie sesión.
Estoy buscando una manera de configurar una lista de scripts / aplicaciones que se ejecutan cuando me desconecto . Una lista de "Elementos de cierre de sesión", si lo desea.
Básicamente, quiero escribir algunas pequeñas secuencias de comandos de limpieza para mí que se ejecutarán automáticamente cuando cierre sesión o cierre.
Entonces, estoy buscando una manera de tener un script (o, idealmente, una lista de ellos) que se active automáticamente cuando cierre sesión. El cierre de sesión esperará a que finalicen las secuencias de comandos (al igual que la forma en que el cierre de sesión espera que haga clic en Guardar si una aplicación lo solicita).
¿Hay alguna manera de activar automáticamente (a) script (s) cuando salgo de Mac OS X?
fuente
Respuestas:
Los ganchos de cierre de sesión quedaron obsoletos en 10.4 , pero aún funcionan a partir de 10.9.
El valor de la clave LogoutHook solo puede ser una ruta a un ejecutable y no un comando de shell. El enlace de cierre de sesión se ejecuta como root.
El comando predeterminado modifica /var/root/Library/Preferences/com.apple.loginwindow.plist. Agregar una clave LogoutHook a /Library/Preferences/com.apple.loginwindow.plist no funciona.
Si un enlace de cierre de sesión tarda lo suficiente en ejecutarse, se muestra una pantalla gris hasta que finaliza el enlace de cierre de sesión. No parece haber ningún límite de tiempo después del cual los ganchos de cierre de sesión se vean obligados a terminar.
No he descubierto ninguna forma de ejecutar programas al cerrar sesión de manera confiable con launchd. Cuando intenté capturar señales como EXIT, el código en la trampa solo se ejecutó cuando cerré la sesión en la ventana de inicio de sesión y no cuando apagué o reinicié.
fuente
sh
(crea ese archivo .txt). Guardé el script como /etc/rc.shutdown.local, y lo agreguédefaults
como dijiste. Ninguno de los dos archivos ya estaba allí. ¿Estoy haciendo algo mal? ¡Gracias!En realidad hay una manera:
Para ocultarlo del Dock:
fuente
Script Timer es una buena opción para esto. Se puede ejecutar al cerrar sesión, iniciar sesión y mucho más. Iría con esto por una solución simple y fácil de usar. Tiene una GUI simple:
Hay dos cosas que debe tener en cuenta sobre Script Timer. Uno, es no libre. Cuesta $ 12, pero personalmente creo que vale la pena. Dos, no es totalmente compatible con Lion, pero han prometido una actualización gratuita tan pronto como lo hayan hecho compatible.
fuente
También puede crear una aplicación para Mac a partir de su secuencia de comandos usando algo como Platypus y luego agregarla a Elementos de inicio de sesión como cualquier otra aplicación.
fuente
Power Manager puede ejecutar un script cuando un usuario cierra sesión. Este es un producto comercial y es compatible con la última versión de macOS.
Se necesitaban versiones anteriores con el editor de eventos , pero ahora se incluye una tarea del Asistente de programación para ejecutar scripts al iniciar y cerrar sesión.
Escribí Power Manager, así que siéntase libre de hacer preguntas técnicas sobre su implementación. En el caso de eventos desencadenados de cierre de sesión, Power Manager no sondea los cambios en el estado del usuario, sino que macOS le notifica los cambios del usuario. Este enfoque es más eficiente que tener un script de bucle / sondeo.
fuente