Notificaciones al termino de ejecución de una tarea en GNU/Linux.

En 1999 el escritor de ciencia ficción Neal Stephenson escribió el excelente libro “En el comienzo fue la línea de comandos” en el que postulaba que por aquel entonces el mejor sistema operativo era BeOS, por “combinar potencia con buena interfaz gráfica, pues (…) brinda la posibilidad de abrir una ventana a la línea de comandos”. El tiempo pasó (vaya si hubo avances en estos años), Stephenson dijo que su opinión cambió al salir Mac OS X y la idea de la integración entre la línea de comandos y la interfaz gráfica es clave hoy en día tanto en BSD, Linux como Mac OS X.

Es decir, lo que hace a un sistema operativo potente es combinar la usabilidad con la potencia, permitiendo integrar la terminal (“la mejor forma de relacionarse con el mundo“, de acuerdo a Stephenson) en un entorno de escritorio completamente simple de usar. Ahora, es habitual que sihacemos alguna tarea que consuma algo de tiempo en la terminal, sea en background o no, no nos quedemos viendo qué es lo que sucede hasta que termine su ejecución. Podemos estar descargando algún archivo pesado por wget y pasará un buen par de horas hasta que la descarga se complete. En consecuencia, aunque podamos necesitar con relativa urgencia el archivo, nos podemos olvidar por completo de él.

Por eso me encantó un pequeño alias ideado por Dustin Kirkland, desarrollador de Ubuntu Server, que permite ser alertado mediante el panel de notificaciones de Gnome cada vez que termine de ejecutarse un trabajo en la terminal.

Para probarlo, primero asegurémonos de tener instalado libnotify-bin. En caso negativo:

sudo apt-get install libnotify-bin 

Editamos el archivo ~/.bashrc, en el que se encuentran los alias:

gedit ~/.bashrc 

Allí debemos copiar, al final del mismo, lo siguiente:

alias alert_helper='history|tail -n1|sed -e "s/^\s*[0-9]\+\s*//" 
-e "s/;\s*alert$//"' alias alert='notify-send -i
 /usr/share/icons/gnome/32x32/apps/gnome-terminal.png 
"[$?] $(alert_helper)"' 

Y finalmente:

source ~/.bashrc 

Si quieren probarlo y ver cómo funciona, pueden tipear en la consola

sleep 60; alert 

Como verán, lo que cambia es el “;” más el “alert”. Un ejemplo muy práctico en el que podemos ver la utilidad de esta funcionalidad es al compilar un programa, algo que puede tomar unos segundos pero, dependiendo del tamaño de la aplicación, suele llevar unos minutos. En este caso, ejecutaremos en la línea de comandos

make; alert 

De este modo podrán compilar un programa mientras navegan por los blogs de Hipertextual sin estar viendo cada 20 segundos si ya terminó de compilarse, que una vez que termine el sistema operativo les avisará desde el panel de notificaciones que la tarea ha concluido.

Fuente | bitelia.com

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: