Mostrar el dialog desde la línea de command (como xmessage)

Fondo

Me gustaría poder mostrar una window de notificación en OS X desde un script. La secuencia de commands se ejecutará en segundo plano, por lo que la notificación no debe ir al terminal, sino que debe mostrarse en una window de dialog.

Lo que encontré hasta ahora

xmessage

En Linux, probablemente xmessage o una de sus variantes para esto. Pero en OS X, iniciar el voluminoso server X solo para esta tarea parece excesivo y demasiado lento para mi gusto.

Diálogo de buscador

Encontré una pregunta similar en este hilo del foro , donde la respuesta "aceptada" sugería este command:

 osascript -e 'tell app "Finder" to display dialog "Hey!"' 

Pero en mi OS X 10.7 , el dialog resultante no se muestra inmediatamente. En su lugar, el ícono del Finder comienza a rebotar y el dialog se vuelve visible solo después de hacer clic en el ícono. Demasiados clics del mouse, demasiado perturbador.

Notificador

Hay una respuesta en Super User que sugiere una herramienta llamada terminal-notifier . Lamentablemente, parece que solo funciona para OS X 10.8 , por lo que no será de ayuda en mi caso.

Pregunta

Entonces, ¿hay alguna herramienta, incluida en OS X 10.7 o libremente disponible, que permita mostrar un pequeño dialog al usuario sin demasiada sobrecarga?

  • command 'script' en la terminal, en busca de un color abierto
  • ¿Cómo puedo ejecutar un script sin firmar en Automator?
  • necesidad de secuenciar la connection a telnet y enviar commands al dispositivo remoto sin intervención del usuario
  • cómo crear una tarea diaria para GMVault en el automatizador
  • ¿Cómo crear un service que pone el text seleccionado entre comillas?
  • Problemas para crear un directory desde el script ejecutado por launchd
  • El assembly de acciones de Samba en / volúmenes sin pelusas de GUI
  • ¿Herramientas o scripts para rastrear una Mac robada o perdida?
  • 2 Solutions collect form web for “Mostrar el dialog desde la línea de command (como xmessage)”

    Una opción es contar un process en segundo plano como SystemUIServer para mostrar el dialog:

     osascript -e 'tell application "SystemUIServer" display dialog "message" end activate application (path to frontmost application as text)' 

    También puede indicarle a la aplicación principal que muestre un cuadro de dialog, pero no se muestra inmediatamente si la aplicación no responde. Si MPlayer OS X está en primer plano, los cuadros de dialog de text no aceptan ninguna input de keyboard.

     osascript -e 'tell application (path to frontmost application as text) display dialog "message" end' 

    Tratar

    tell application "System Events" to display dialog "Plug the Digispark into the USB port." buttons {"OK"} with icon caution

    Probado en OS X 10.8.2

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