He estado jugando con AppleScript y Automator para que esto funcione, pero parece que no puedo entenderlo. Si alguien pudiera mostrarme un ejemplo o darme algunos consejos sobre cómo puedo configurar una aplicación para que se cierre en un momento específico y luego poner la computadora en suspensión o apagado, sería muy apreciado.
applescript
sleep-wake
script
applications
Tomás Richardson
fuente
fuente
at
no es lo que quieres.cron
olaunchd
. Si desea una interfaz más fácil de configurar, tal vez lingon 3 lo ayude.Respuestas:
Supongo que le gustaría iniciar este procedimiento en lugar de ejecutarlo a una hora programada regularmente.
Mi enfoque sería iniciar esto desde la línea de comandos, pero cualquier comando puede ejecutarse en un componente de script de shell de un script de Automator con alguna modificación. El siguiente enfoque combina algunos componentes para hacer el trabajo:
tell
comando para salir de la aplicación.1. Diciéndole a la aplicación que abandone
Esto puede ser tan simple como:
2. Poner la computadora a dormir
Eche un vistazo
pmset
para obtener más detalles, pero emitir el siguiente comando pondrá su computadora en suspensión:3. Programar una operación para que se ejecute en un momento específico
Echa un vistazo al comando at . Este comando le brinda la capacidad de especificar una hora para que se ejecute un comando. Tendrá que habilitar esta funcionalidad, ya que no es por defecto. Para habilitar el
atrun
demonio, ejecute el siguiente comando [referencia en SU] :Una vez que haya habilitado
atrun
, cualquier comando se puede programar para un tiempo específico emitiendoque funciona porque
at
toma su entrada destdin
forma predeterminada. Un enfoque más simple es ejecutar comandos enumerados en un archivo. Se puede ejecutar un archivo utilizando el-f
indicador, seguido del nombre del script que se ejecutará de esta manera:Poniendolo todo junto
Lo que sigue supone que
atrun
está habilitado. Como ejemplo de juguete, digamos que quiero salir de Mail y poner la computadora a dormir a las 11 p.m. Crearía un archivo que contiene los comandos que quiero ejecutar de la siguiente manera:Guarde ese archivo
quit-and-sleep
y luego ejecútelo en la línea de comandoAdvertencias
No hice ninguna comprobación para asegurarme de que Mail realmente se cerró. El script también asume que nada más va a obstaculizar el sueño de la computadora. Lo he mantenido simple aquí como punto de partida para lo que quieres.
fuente
Aquí hay una versión estrictamente applecript que logra esto dado un valor de tiempo codificado. Por supuesto, podría hacer que esta parte sea interactiva si lo desea. Además, esta versión supone que la cadena de tiempo se relaciona con la actualidad.
fuente
Puede programar un evento una vez con:
O para programar que se repita todos los días, edite el crontab con
EDITOR=nano crontab -e
y agregue una entrada como esta:fuente
Aquí hay un código que esperará una cantidad de segundos antes de salir de la aplicación actual e irse a dormir.
fuente