2 votos

Secuencia de comandos en ejecución a través de launchd sin molestos mensajes

Tengo un applescript que cheques mi macbook de la batería y de las fuerzas de hibernación cuando se alcanza un cierto nivel, después de mostrar un 60 segundos de la cuenta regresiva.

He éxito configurarlo para que se ejecute en segundo plano a través de launchd, cada 30 segundos, como un guión, pero esto provoca un molesto rebote icono en el dock.

Así que, he guardado el script como una aplicación y ahora el icono de la estación es que ya no rebotan, pero si estoy en la terminal de la aplicación (por ejemplo) y se me ocurre estar presionando CONTROL tal como se pone en marcha en el fondo, me da la temida "Pulse Run para ejecutar esta secuencia de comandos, o salir para Salir del cuadro de diálogo". Y sí, estoy seguro de que cuando guardo la "Pantalla de Inicio" opción NO está seleccionada.

dialog

Este cuadro de diálogo aparece detrás de todas las demás ventanas así que no tengo idea de que ha sucedido y mi aplicación/script está atascado en este punto.

Alguna sugerencia de cómo superar esto, así que puedo ejecutar mi script sin molestos cuadros de diálogo o de rebote iconos?

Gracias.

EDIT: Una idea que me vino a la mente fue el uso de la ExitTimeOut opción en el archivo plist. El hombre de la página dice:

ExitTimeOut <integer>
    The amount of time launchd waits before sending a SIGKILL signal. The default value is 20 seconds. The
    value zero is interpreted as infinity.

Así que lo he añadido en como esta:

<key>ServiceDescription</key>
    <string>Battery Monitor</string>
<key>StartInterval</key>
    <integer>30</integer>
<key>ExitTimeOut</key>
    <integer>90</integer>

entonces, ¿de descarga/carga de la .plist archivo. Lamentablemente esto no parece funcionar. Soy yo la comprensión de esta opción equivocada?

0voto

Steve Evans Puntos 155

Convertir a la secuencia de Comandos de Shell y AppleScript Par

Convertir un cheque por el estado de la batería para una secuencia de comandos de shell. La secuencia de comandos de shell puede, a continuación, ejecute regularmente a través de un launchd boleto del trabajo sin presentar ninguna interfaz de usuario.

Cuando se cumplen las condiciones, su secuencia de comandos de shell puede ejecutar un AppleScript para interactuar con el usuario.

Esto supone el uso de un ~/Library/LaunchAgent enfoque para la launchd boleto del trabajo. Un equipo de par en par launchd trabajo no será capaz de lanzar el AppleScript componente en la correspondiente sesión de usuario.

Como alternativa, puede utilizar una herramienta de terceros para desencadenar en una batería de eventos, tales como el Gestor de Energía; esto permitiría evitar el sondeo de la batería y mejorar sus prestaciones de la batería.

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