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

top feature image

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

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.

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

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

Finalmente actualiza los cambios ejecutando en la misma terminal:

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

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:

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.

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.


Deja un comentario

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