Cómo recibir notificaciones al finalizar la ejecución de un comando en un terminal

El otro día, leyendo el excelente blog WebUpd8, descubrí una herramienta para recibir una notificación al finalizar la ejecución de un comando en el terminal, lo que puede resultar útil en los casos en los que dicha tarea puede alargarse varios minutos.

Honestamente, no me parece que sea la mejor solución. Por esa razón, aquí proponemos otras alternativas, más prácticas y sencillas.

Undistract-me

Cómo recibir notificaciones al finalizar la ejecución de un comando en un terminal

La herramienta recomendada por Andrew es Unidstract-me.

Instalación en Ubuntu y derivados:

sudo add-apt-repository ppa:undistract-me-packagers/daily
sudo apt-get update
sudo apt-get install undistract-me

Para utilizarlo hay que habilitar la opción "Ejecutar comando como terminal de inicio de sesión" en el terminal de tu preferencia. En el que viene con GNOME podemos habilitar esta opción bajo Edición > Preferencias de Perfil.

Una vez instalado, cualquier comando que tarde más de 10 segundos mostrará un mensaje al finalizar.

Para instalar Undistract-me en otras distros, pueden encontrar las instrucciones aquí.

Otras alternativas

La ventaja de los métodos que se muestran a continuación son varios:

  • se ejecutan solamente cuando el usuario así lo pide
  • no precisan de la instalación de programas adicionales (por lo general, los paquetes necesarios ya vienen instalados en casi todas las distros populares)
  • si la pereza te carcome, podés convertirlos fácilmente en un script
  • son súper rápidos, no consumen recursos y son fáciles de aprender

Notify-send

Para mostrar mensajes de Notificación al estilo Ubuntu, tenés que tener instalado notify-send. Ubuntu, Linux Mint y derivados vienen con este paquete instalado por defecto. Los usuarios de Arch, pueden instalarlo desde AUR.

Luego, basta agregar && notify-send "¡Terminado!" al final del comando que queramos ejecutar. Suponiendo que el comando a ejecutar fuera cat:

cat archivo && notify-send "¡Terminado!"

Zenity

Un sistema más "complejo" de notificaciones es Zenity, con el cual podemos mostrar cuadros de diálogo con botones, etc.

Al igual que con notify-send, basta agregar && zenity --info --text="¡Terminado!" al final del comando que queramos ejecutar. Suponiendo, una vez más, que el comando a ejecutar fuera cat:

cat archivo && zenity --info --text="Long command completed."

Un tip interesante: es posible reemplazar && por ; para agregar elementos a la cadena de comandos a ejecutar. Así, por ejemplo, cat archivo && ls quedaría cat archivo; ls.

 

Fuente: Webupd8 | usemoslinux

¿Quién está en línea?

Hay 16658 invitados y ningún miembro en línea