GNU/Linux >> Tutoriales Linux >  >> Linux

Undistract-me:Reciba una notificación cuando se completen los comandos de terminal de ejecución prolongada

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.


Linux
  1. 8 comandos espeluznantes que rondan la terminal

  2. Sugerir la instalación de paquetes al ejecutar un comando no disponible

  3. Ejecución de comandos de Linux en segundo plano y en primer plano

  4. La línea de comandos se sobrescribe a sí misma cuando los comandos son demasiado largos

  5. Ejecución de comandos de terminal de bucle en Jupyter

Kmdr:mostrar la explicación de los comandos CLI en la terminal

Recibir notificación cuando se realiza una tarea de terminal

Cómo ejecutar varios comandos de Linux a la vez en la terminal de Linux

Ponga un temporizador en sus comandos en ejecución con el comando de tiempo de espera en Linux

5 métodos para obtener ayuda rápida sobre los comandos de Linux

Ejemplos de comandos de pantalla:Obtener el control de la terminal Linux / Unix