launchd: preguntar al usuario antes de realizar tareas

¿Hay alguna manera de get una tarea de inicio definida por el usuario (es decir, como la de esta pregunta ) para get la confirmación del usuario antes de ejecutar la tarea? Una window emergente como la de la suspensión progtwigda (con sí / no y un timer en caso de que el usuario no ingrese) sería genial, de lo contrario, una simple window emergente sí / no funcionaría.

  • Gran cantidad de anonymous.xpcd?
  • Encontrar el verdadero estado de los trabajos de launchd
  • Cómo evitar que OS X intente ejecutar TeamViewer cada 10 segundos
  • Cómo boost correctamente ulimit -n en Lion?
  • ¿Alguien puede recomendar un buen tutorial para escribir (desde cero) un trabajo de lanzamiento estilo cron?
  • ¿Cuál es la diferencia entre un `service-name` y un` service-target`?
  • Force launchd para volver a leer las variables de entorno
  • La salida del script Launchd no se ha registrado en system.log
  • Cómo evitar que OS X intente ejecutar TeamViewer cada 10 segundos
  • Cómo boost correctamente ulimit -n en Lion?
  • ¿Alguien puede recomendar un buen tutorial para escribir (desde cero) un trabajo de lanzamiento estilo cron?
  • ¿Por qué funciona un SIGTERM de captura de script de shell cuando se ejecuta manualmente, pero no cuando se ejecuta mediante launchd?
  • 2 Solutions collect form web for “launchd: preguntar al usuario antes de realizar tareas”

    Haga que launchd llame a este AppleScript. Muestra un dialog con un time de espera y llama a un script de shell si el usuario seleccionó "Ok".

    set timeoutInSeconds to 60 set abortOnTimeout to true tell application (path to frontmost application as text) try set dialogResult to display dialog "Do you want to execute?" default button 2 giving up after timeoutInSeconds on error number -128 return end try end tell if gave up of dialogResult and abortOnTimeout then return end if do shell script "/path/to/yourscript.sh" 

    Los agentes lanzados pueden interactuar con la GUI e incluso los daemons pueden usar osascript para mostrar los dialogs.

    También podría usar algo como esto en un script de shell:

     osascript -e 'tell app (path to frontmost application as text)' display dialog "Continue?" end' || exit 0 

    La secuencia de commands sale con un error si el usuario presiona el button cancelar o cierra el cuadro de dialog. También podría indicarle a un process en segundo plano como SystemUIServer que muestre el cuadro de dialog, pero deberá agregar algo como activate application (path to frontmost application as text) para volver a enfocar la window enfocada anteriormente.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).