terminales mac macos terminal iterm iterm2

macos - terminales mac



¿Cómo hago para que el terminal iTerm me notifique cuando se completa un trabajo/proceso? (7)

Una notificación del centro de notificaciones sería ideal, pero el gruñido, el muelle de rebote, el sonido, etc. también estarían bien (o si esto solo se puede hacer en Terminal.app, estaría dispuesto a volver). ¿Existe alguna opción en iTerm para activar las notificaciones o es algo que se supone que debo escribir al final de un comando en la terminal? Si es esto último, ¿es posible agregar una alerta una vez que el proceso ha comenzado?


Notificar sobre un proceso que ya se está ejecutando

Atajo: A o:

Edit -> Marks and Annotations -> Alerts -> Alert on next mark

: iTerm literalmente mantendrá un ojo (en la esquina superior derecha) de su terminal. Una vez que el comando haya finalizado, se pondrá en contacto con el Notification Center .

¿Por qué?

Ya lanzamos el comando. Subestimamos el tiempo necesario para completarlo, no queremos cancelarlo y nos negamos a sentarnos a verlo. por ejemplo, una brew update después de mucho tiempo!

Requisitos

iTerm: Integración de Shell:

iTerm2 -> Install Shell Integration

Tenga en cuenta que la integración no mostrará notificaciones hasta que se reinicie iTerm2.


Hay una herramienta OSS llamada noti .

Puede instalarlo fácilmente con brew install noti y comenzar a usarlo simplemente prefijando su comando con noti like noti sleep 3 .


Instale la integración de shell iTerm2

curl -L https://iterm2.com/shell_integration/install_shell_integration_and_utilities.sh | bash

Ejecute su comando y concatene la aplicación de atención, p. Ej.

./task && ~/.iterm2/it2attention once

Causará que la aplicación iTerm rebote su icono una vez que se complete el trabajo.

También tiene otras opciones de atención:

$ .iterm2/it2attention -h Usage: it2attention start Begin bouncing the dock icon if another app is active it2attention stop Stop bouncing the dock icon if another app is active it2attention once Bounce the dock icon once if another app is active it2attention fireworks Show an explosion animation at the cursor


Puede agregar cualquiera de los siguientes después de cualquier comando, con un punto y coma entre el comando y este:

afplay /System/Library/Sounds/Ping.aiff -v 2 osascript -e ''beep 3'' tput bel

o, si te gusta el Centro de notificaciones

osascript -e ''display notification "Lorem ipsum dolor sit amet" with title "Title"''

También puede hacer un alias en su perfil, llamado notify y agregarlo al final de su comando. Entonces, en su perfil de inicio de sesión

alias notify="tput bel"

entonces

sleep 10; notify

O, si inició su comando y está "colgando", simplemente escriba y presione Enter y ejecutará su alias de notify al final, cuando el comando haya finalizado, por ejemplo

sleep 20 # wait 5 seconds before realising this will take 20 seconds notify<Enter>


También puede usar el terminal-notifier que usa las notificaciones del sistema mac os. Para instalarlo a través de Home brew solo:

$ brew install terminal-notifier

Luego, si desea mostrar una notificación cuando termine su trabajo / proceso, use algo como esto

$ <your job/process command> && echo ''Completed'' | terminal-notifier -sound default

Y esta pantalla como esta:

También puede cambiar el sonido y el ícono de las notificaciones. Más información en el repositorio de Github: https://github.com/julienXX/terminal-notifier


Y siempre puedes usar el comando say .

Por lo general, cuando está ejecutando un proceso largo dentro del terminal y desea actualizarse, simplemente puede usar este comando para decir cosas como done o error o bazinga .

mvn clean install; say done

Este comando crea una aplicación Java Spring, y lleva mucho tiempo, y se pronunciará una vez que se complete el proceso.


iTerm2 admite notificaciones Growl . Puede activarlo en cada configuración de perfil.

Seleccione un perfil en Preferences… -> Profiles . Luego, en la pestaña Terminal hay una opción Enable Growl Notifications .

Recuerde habilitar también las notificaciones iTerm en las preferencias de Growl .

Si desea recibir una notificación para un proceso determinado, puede intentar experimentar con Triggers . Define disparadores en la pestaña Advanced en una configuración de perfil. De esta manera, puede asignar una notificación Growl a una salida particular de su proceso (regexp).

Podría, por ejemplo, hacer:

$ mycommand; echo "end-of-my-process"

Y conecte el disparador al mensaje de "fin de mi proceso".

Actualizar

Lea más sobre los desencadenantes en iTerm2.com .