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.

  • "Modo avión" en OS X. ¿Comando alternativo para `rfkill`?
  • Controlar aplicaciones de iOS a través de la línea de command
  • hacer que sea más fácil llamar a los commands de terminal utilizados con frecuencia
  • ¿Cambiar la asociación de files en la terminal?
  • Desterrar "Has obligado a XXX a dejar de fumar" para que se muestre en la pantalla otra vez
  • dyld post al ejecutar commands como sudo
  • 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?

  • ¿Cómo previene que un process se reinicie automáticamente? (específicamente, sophos antivirus)
  • la auto-actualización del puerto falla después de actualizar a la siguiente versión de OS X
  • Abre la session iTerm2 SSH en una nueva window en lugar de una pestaña nueva
  • Función de limpieza de escritorio - Control, Comando 1 - no funciona después de que instalé Lion? Otros atajos de keyboard están funcionando, por lo que puedo decir
  • Aumenta la velocidad de desplazamiento horizontal en Logitech Mouse
  • ¿Por qué la tecla de acceso rápido de text a voz no funciona?
  • 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).