Undistract-me, recibe notificaciones al terminar un comando de terminal
Undistract-me, recibe notificaciones al terminar un comando de terminal

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

En el siguiente artículo vamos a echar un vistazo a una utilidad llamada Undistract-me. Este script va a avisar cuando se completan los comandos que estemos ejecutando en la terminal. Esto nos puede ser útil cuando tras lanzar un comando nos ponemos a trabajar sobre otra cosa. Con ella no necesitaremos verificar constantemente la terminal para ver si el comando se ha completado o no. Undistract-me nos avisará cuando se complete un comando de larga ejecución. Funcionará en Arch Linux, Debian, Ubuntu y otros derivados.

Esta utilidad vendrá bien cuando no eres lo suficientemente disciplinado como para sentarte y mirar como se ejecutan los comandos. El script nos alerta cuando terminan los comandos de ejecución larga, haciendo que podamos dedicar nuestro tiempo a algo más que mirar la terminal mientras los comandos llegan al final.

Instalar Undistract-me

Undistract-me está disponible en los repositorios predeterminados de Debian y sus variantes, como Ubuntu. Yo lo he probado en Ubuntu 17.10. Todo el que quiera podrá consultar el código fuente de este script en la página de GitHub del proyecto.

Para añadirlo a tu sistema, todo lo que tendrás que hacer es ejecutar el siguiente comando en la terminal (Ctrl+Alt+T) para instalarlo.

sudo apt install undistract-me

Cuando termine la instalación, en la misma terminal, ejecuta el siguiente comando para agregar “undistract-me” a tu Bash.

echo 'source /etc/profile.d/undistract-me.sh' >> ~/.bashrc

Alternativamente, puedes ejecutar este comando para agregarlo a tu Bash:

echo "source /usr/share/undistract-me/long-running.bash\nnotify_when_long_running_commands_finish_install" >> .bashrc

Finalmente actualiza los cambios ejecutando en la misma terminal:

source ~/.bashrc

Configurar Undistract-me

Cambiar tiempo para la notificación

De forma predeterminada, Undistract-me considerará cualquier comando que tarde más de 10 segundos para completarse como un comando de larga ejecución. Pero esto se puede cambiar. Este intervalo de tiempo lo podremos cambiar editando editando el archivo /usr/share/undistract-me/long-running.bash.

undistract-me configuración tiempo

sudo nano /usr/share/undistract-me/long-running.bash

Dentro del archivo tendremos que encontrar la variable “LONG_RUNNING_COMMAND_TIMEOUT” y cambiar el valor predeterminado (10 segundos) por otro valor a tu elección. Después guarda y cierra el archivo. No olvides actualizar los cambios ejecutando comando:

source ~/.bashrc

Habilitar/Deshabilitar notificaciones para comandos particulares

Además, vamos a poder deshabilitar notificaciones para comandos particulares. Para hacerlo, tendremos que buscar la variable “LONG_RUNNING_IGNORE_LIST” y agregar los comandos separados por espacios.

Habilitar/Deshabilitar la comprobación de ventana activa

De forma predeterminada, la notificación solo se mostrará si la ventana activa no es la ventana en la que se ejecuta el comando. Esto significa que solo recibiremos la notificación si el comando se está ejecutando en la ventana de fondo. Si el comando se ejecuta en la ventana activa, no se mostrará la notificación. Si queremos que se haga esta distinción vamos a poder configurar IGNORE_WINDOW_CHECK. Seleccionaremos 1 para omitir la comprobación de la ventana.

Habilitar notificación de audio

La otra característica interesante de Undistract-me es que puedes configurar la notificación de audio junto con la notificación visual cuando se completa un comando. Por defecto, solo enviará una notificación visual. Puedes cambiar este comportamiento estableciendo la variable UDM_PLAY_SOUND en un entero distinto de cero en la línea de comando. Sin embargo, nuestro sistema Ubuntu debes tener las utilidades pulseaudio-utils y sound-theme-freedesktop instaladas para habilitar esta funcionalidad.

Recuerde que debes ejecutar el siguiente comando para actualizar los cambios realizados.

source ~/.bashrc

Probando Undistract-me

Es hora de verificar si esto realmente funciona. Obtener notificación cuando se completen los comandos de la terminal de larga ejecución. Ahora ejecuta cualquier comando que lleve más de 10 segundos o la duración de tiempo que hemos definido la configuración de Undistract-me.

Para este ejemplo, simplemente hice ping a uno de los routers de mi red un número determinado de veces. Este comando tomó unos 25 segundos segundos para completarse. Después de completar el comando anterior, recibí la siguiente notificación en el escritorio.

notificación ping undistract-me

Recuerda que el script Undistract-me solo notifica si el comando determinado tomó más de 10 segundos para completarse. Si el comando se completa en menos de 10 segundos, no se le notificará. Por supuesto, puedes cambiar esta configuración de intervalo de tiempo como describí en la sección Configuración anterior.

Encuentro esta herramienta muy útil para todos los que trabajamos en la terminal. Y siendo tan sencilla de utilizar e instalar, creo que es algo que no debe faltar en ningún equipo.







¿Qué te ha parecido este post?

¡Haz clic en una estrella para calificarla!

Puntuación media 5 / 5. Recuento de votos: 1

¡No hay votos hasta ahora! Sé el primero en calificar esta publicación.

No te pierdas otros artículos ...

¡Síguenos en las redes sociales!

¡Lamentamos que esta publicación no te haya sido útil!

¡Permítanos mejorar esta publicación!

¿Cuéntanos cómo podemos mejorar esta publicación?

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.