1 votos

¿Puedo escribir un guión para tomar una acción correcta antes de que el equipo va a ir a dormir?

Creo que mi equipo es al azar no de sincronización de correo electrónico correctamente con Apple Mail, pero es sólo un problema cuando se despierta de su sueño.

Que el problema no está ni aquí ni allí. Lo que me gustaría hacer es escribir un script o algo que se salga de Correo de Apple si se detecta que el equipo se va a dormir.

Idealmente, sería un proceso similar para abrir el Correo de Apple después de despertar de un sueño, pero eso es menos de un problema.

He intentado buscar un sistema de biblioteca de eventos de algún tipo, pero todo lo que puedo encontrar es fsevents (que yo no creo que tenga nada acerca del sueño).

Gracias!

2voto

AstroPig7 Puntos 176

Yo sugiero utilizar un demonio como SleepWatcher. Una vez que hayas instalado SleepWatcher (ref. el archivo LÉAME incluido), puede ejecutar comandos como la siguiente.

/usr/local/sbin/sleepwatcher -s /path/to/sleepscript -w /path/to/wakeupscript

La secuencia de comandos

#!/bin/sh
osascript -e 'quit app "Mail"'

se salga de Correo, y la secuencia de comandos

#!/bin/sh
open -a /Applications/Mail.app $1

se abrirá. Usted puede guardar estos como .sh archivos y hacer referencia a ellos desde sleepwatcher, pero asegúrese de que usted ejecute chmod +x filename.sh de ellos antes de intentar ejecutarlos. De lo contrario, OS X no reconocerlos como ejecutable.

Ahora, usted tiene dos opciones para cargar sleepwatcher: puede ejecutarlo manualmente, puede configurar un LaunchAgent para hacerlo. Me gusta el último, así que crear un archivo en /Library/LaunchAgents/ nombre com.custom.mailfix.plist (el nombre no es importante, pero te recomiendo que mantener el formato, el "com" y el "plist"). El contenido del archivo debe ser similar a la siguiente.

<?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>com.custom.mailfix.plist</string>
<key>ProgramArguments</key>
<array>
    <string>/usr/local/sbin/sleepwatcher</string>
    <string></string>
    <string>-s /path/to/sleepscript</string>
    <string>-w /path/to/wakescript</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>

Como antes, reemplazar la secuencia de comandos de caminos con rutas de acceso a los scripts de shell. A decir de OS X para el lanzamiento de este agente en el inicio, ejecutar

sudo launchctl load -w /Library/LaunchAgents/com.custom.mailfix.plist

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X