42 votos

Posible ejecutar secuencias de comandos en el sueño y la vigilia?

El MacBook Pro de 2010, el sistema operativo OS X Lion.

Es posible ejecutar secuencias de comandos en el sueño y la vigilia eventos?

Mi aplicación específica, es que tengo Dropbox-sincronizado volúmenes de Truecrypt que utilizo a diario en mi MacBook y iMac. Yo rara vez apagar mi MBP dado que el cierre de la tapa es mucho más rápido y más fácil, pero esto significa que tengo que recordar a desmontar mi volúmenes de Truecrypt y dejar que ellos sincronización de copia de seguridad antes de cerrar mi MBP. Es trivial suficiente para que el script de montaje/desmontaje de ellos, pero me gustaría ir un paso más allá y ha estas secuencias de comandos se ejecutan automáticamente.

21voto

user Puntos 775

SleepWatcher puede ser de utilidad.

A partir de la descripción: se puede utilizar para ejecutar un comando de Unix cuando el Mac o la pantalla de la Mac pone en modo de suspensión o se despierta, después de un tiempo dado sin la interacción del usuario o cuando el usuario se reanuda la actividad después de un descanso o cuando la fuente de alimentación de un portátil Mac está conectado o desconectado. También puede enviar el Mac a modo de suspensión o de recuperar el tiempo desde la última actividad del usuario.

Funciona bien para mí en 10.6.8. Disponible en diferentes versiones para apoyar 10.1(!) través de 10.7

15voto

TraFoO Puntos 11

Parece que como el sistema operativo de los buques, de sueño/vigilia no puede activar scripts, pero la tercera parte, se han desarrollado soluciones.

  • El escenario parece ser una de tales soluciones.
  • Power Manager también parece añadir algo de secuencia de comandos de activación de habilidades. Puedo ver que se puede activar scripts de despertar de un sueño; yo no sé acerca de secuencias de comandos activa en el sueño. Power Manager - trigger on power on screen shot

No tengo experiencia personal con estos programas o de sus proveedores.

10voto

Lloyd Mangram Puntos 91

Esta es mi propia aplicación, por lo que considerar que, pero ControlPlane tiene la capacidad de realizar acciones basadas en el Sueño/Vigilia. Lo puedes encontrar en http://www.controlplaneapp.com/.

ControlPlane es un fork de MarcoPolo y ha sido actualizado para funcionar en Snow Leopard y Lion.

4voto

Nathan Puntos 1975

He desarrollado el siguiente sencillo de Lanzamiento de Demonio para proporcionar un 'despertar' trigger para guiones de Leopardo:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>wake-alert</string>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/bash</string>
        <string>-c</string>
        <string>z=/tmp/wake; test -s $z || { date > $z; say w; }; 
tail -1 /Library/Logs/DirectoryService/DirectoryService.server.log | grep -v Sleep || > $z
        </string>
    </array>
    <key>WatchPaths</key>
    <array>
        <string>/Library/Logs/DirectoryService/DirectoryService.server.log</string>
    </array>
    <key>ExitTimeOut</key>
    <integer>2</integer>
    <key>ThrottleInterval</key>
    <integer>1</integer>
</dict>
</plist>

Puede reemplazar 'decir w' con su código. Tengo que escribir una fecha a la z, pero usted puede cambiar esto en escribir nada. Es posible que necesite aumentar 'ExitTimeOut' para algunas secuencias de comandos. Mi Lanzamiento Demonio reside en /Library/LaunchDaemons/wake-alerta.plist

El Lanzamiento Demonio relojes DirectoryService.servidor.registro y se escribe en un archivo temporal proporcionado el archivo está vacío. El archivo se borra un registro de 'Sueño' de entrada y Apagar.

Si usted utiliza "cambio rápido de usuario" para dormir usted encontrará que los scripts que requieren de un usuario en el sistema, intentará ejecutarse demasiado temprano y no a menos que se modifique el Lanzamiento Demonio - tal vez grep 'Éxito' en 'seguro.registro'.

2voto

Craig Beuker Puntos 123

Otro programa que usted podría descubrir y ser tentado a probar es EventScripts. Aunque es un muy impresionante programa que yo recomendaría en general, después de la prueba para este propósito se hace NO en realidad parecen ser capaces de activar scripts con la suficiente rapidez para que se ejecute antes de que su Mac se va a dormir, y en lugar de el sueño de script no se ejecutará hasta que después de que el Mac se ha despertado, que (obviamente) en contra del propósito.

Espero que para salvar a usted y a cualquier otro que lea esto en el horario de las pruebas que me tomó llegar a esta conclusión. Yo siento tener que decir que no, sin embargo, ya que en muchos aspectos es un muy bien diseñado y muy potentes y flexibles del programa. También es bastante barato ($3). El bajo nivel de rendimiento no parece estar allí, sin embargo, para ejecutar una secuencia de comandos antes de dormir.

Por otro lado, en mis pruebas (hasta ahora) sleepwatcher ha aparecido a ser bastante fiable y rápido. También es gratis, que es impresionante. Voy a seguir probando y si me parece que no funciona, a veces voy a actualizar mi respuesta, y mantener a probar otras opciones.

ACTUALIZACIÓN tengo no se encontró sleepwatcher a ser consistente y confiable ya que originalmente escrito esta respuesta, aunque en un principio parecía funcionar. En mi caso no necesito para ejecutar secuencias de comandos arbitrarios, sino sólo el de expulsión de discos externos. He encontrado un pequeño y barato app que hace esto muy bien: por la Borda. Este rápidamente se ha convertido en uno de un puñado de utilidades no puedo vivir sin. Si sus necesidades son el mismo que el mío, creo que usted encontrará que es bien vale la pena el poco dinero que cobran.

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: