Hace un tiempo, publicamos cómo recibir una notificación cuando se realiza una actividad en la Terminal . Hoy descubrí una utilidad similar llamada "undistract-me" que le notifica cuando se completan los comandos de terminal de ejecución prolongada. Imagina este escenario. Ejecutas un comando que tarda un poco en finalizar. Mientras tanto, revisas tu facebook y te involucras tanto. Después de un tiempo, recordó que ejecutó un comando hace unos minutos. Vuelve a la Terminal y observa que el comando ya ha finalizado. Pero no tienes idea de cuándo se completa el comando . ¿Alguna vez has estado en esta situación? Apuesto a que la mayoría de ustedes estuvo en esta situación muchas veces. Aquí es donde "sin distraerme" viene en ayuda. No necesita verificar constantemente la terminal para ver si un comando se completó o no. La utilidad Undistract-me le notificará cuando se complete un comando de ejecución prolongada. Funcionará en Arch Linux, Debian, Ubuntu y otros derivados de Ubuntu.
Instalando Undistract-me
Undistract-me está disponible en los repositorios predeterminados de Debian y sus variantes, como Ubuntu. Todo lo que tienes que hacer es ejecutar el siguiente comando para instalarlo.
$ sudo apt-get install undistract-me
El Arch Linux los usuarios pueden instalarlo desde AUR usando cualquier programa auxiliar, por ejemplo YaY .
$ yay -S undistract-me-git
Luego, ejecuta el siguiente comando para agregar "no distraerme" a tu Bash.
$ echo 'source /etc/profile.d/undistract-me.sh' >> ~/.bashrc
Alternativamente, puede ejecutar este comando para agregarlo a su Bash:
$ echo "source /usr/share/undistract-me/long-running.bash\nnotify_when_long_running_commands_finish_install" >> .bashrc
Si estás en Zsh shell, ejecute este comando:
$ echo "source /usr/share/undistract-me/long-running.bash\nnotify_when_long_running_commands_finish_install" >> .zshrc
Finalmente actualice los cambios:
Para Bash:
$ source ~/.bashrc
Para Zsh:
$ source ~/.zshrc
Configurar No distraerme
De forma predeterminada, Undistract-me considerará cualquier comando que tarde más de 10 segundos. para completar como un comando de ejecución prolongada. Puede cambiar este intervalo de tiempo editando /usr/share/undistract-me/long-running.bash archivo.
$ sudo nano /usr/share/undistract-me/long-running.bash
Encuentra "LONG_RUNNING_COMMAND_TIMEOUT" variable y cambie el valor predeterminado (10 segundos) a otra cosa de su elección.
Guarde y cierre el archivo. No olvides actualizar los cambios:
$ source ~/.bashrc
Además, puede deshabilitar las notificaciones para comandos particulares. Para hacerlo, busque la "LONG_RUNNING_IGNORE_LIST" variable y agregue los comandos separados por espacios.
De manera predeterminada, la notificación solo se mostrará si la ventana activa no es la ventana en la que se está ejecutando el comando. Eso significa que solo le notificará si el comando se está ejecutando en la ventana de Terminal en segundo plano. Si el comando se está ejecutando en la ventana activa Terminal, no se le notificará. Si desea que no me distraiga para enviar notificaciones, ya sea que la ventana de la Terminal esté visible o en segundo plano, puede configurar IGNORE_WINDOW_CHECK a 1 para omitir la verificación de la ventana.
La otra característica interesante de Undistract-me es que puede configurar una notificación de audio junto con una notificación visual cuando se completa un comando. Por defecto, solo enviará una notificación visual. Puede cambiar este comportamiento configurando la variable UDM_PLAY_SOUND a un entero distinto de cero en la línea de comando. Sin embargo, su sistema Ubuntu debería tener pulseaudio-utils y sound-theme-freedesktop utilidades instaladas para habilitar esta funcionalidad.
Recuerde que debe ejecutar el siguiente comando para actualizar los cambios realizados.
Para Bash:
$ source ~/.bashrc
Para Zsh:
$ source ~/.zshrc
Es hora de verificar si esto realmente funciona.
Reciba una notificación cuando se completen los comandos de terminal de ejecución prolongada
Ahora, ejecute cualquier comando que tarde más de 10 segundos o el tiempo de duración que definió en el script Undistract-me.
Ejecuté el siguiente comando en mi escritorio Arch Linux.
$ sudo pacman -Syu
Este comando tardó 32 segundos en completarse. Después de completar el comando anterior, recibí la siguiente notificación.
Recuerde que el script Undistract-me le notifica solo si el comando dado tardó más de 10 segundos en completarse. Si el comando se completa en menos de 10 segundos, no se le notificará. Por supuesto, puede cambiar la configuración de este intervalo de tiempo como lo describí en la sección Configuración anterior.
Encuentro esta herramienta muy útil. Me ayudó a volver al negocio después de perderme por completo en otras tareas. Espero que esta herramienta también te sea útil.