En el següent article anem a fer una ullada a una utilitat anomenada Undistract-me. Aquest script ens va mostrar un avís quan es completin les comandes que estiguem executant en la terminal. Això ens pot ser útil quan després de llançar una ordre ens posem a treballar sobre una altra cosa. Amb ella no necessitarem verificar constantment la terminal per veure si la comanda s'ha completat o no. La utilitat Undistract-me ens avisarà quan es completi una ordre de llarga execució. Funcionarà en Arch Linux, Debian, Ubuntu i altres derivats.
Aquesta utilitat vindrà bé quan no ets prou disciplinat com per seure i mirar com s'executen les ordres. L'script ens mostra un avís a l'escriptori quan acaben les ordres d'execució llarga, Fent que puguem dedicar el nostre temps a alguna cosa més que mirar la terminal mentre les ordres arriben a al final.
Instal·lar Undistract-me
Undistract-m'està disponible en els repositoris per defecte de Debian i les seves variants, Com Ubuntu. Jo ho he provat en Ubuntu 17.10. Tot el que vulgui podrà consultar el codi font d'aquest script a la pàgina de GitHub del projecte.
Per afegir-lo a la teva sistema, tot el que hauràs de fer és executar la següent comanda a la terminal (Ctrl + Alt + T) per instal·lar-lo:
sudo apt install undistract-me
Quan acabi la instal·lació, a la mateixa terminal, executa la següent comanda per afegir «undistract-me» al teu Bash:
echo 'source /etc/profile.d/undistract-me.sh' >> ~/.bashrc
Alternativament, pots executar aquesta comanda per afegir-lo a la teva Bash:
echo "source /usr/share/undistract-me/long-running.bash\nnotify_when_long_running_commands_finish_install" >> .bashrc
Finalment actualitza els canvis executant a la mateixa terminal:
source ~/.bashrc
Configura Undistract-me
Canviar temps per a la notificació
Per defecte, Undistract-me considerarà qualsevol comandament que tard més de 10 segons per completar com una ordre de llarga execució. Però això es pot canviar. Aquest interval de temps el podrem canviar editant editant l'arxiu /usr/share/undistract-me/long-running.bash.
sudo nano /usr/share/undistract-me/long-running.bash
Dins de l'arxiu haurem de trobar la variable LONG_RUNNING_COMMAND_TIMEOUT i canviar el valor predeterminat (10 segons) per un altre valor a la teva elecció. Després guarda i tanca l'arxiu. No oblidis actualitzar els canvis executant la comanda:
source ~/.bashrc
Habilitar / Deshabilitar notificacions per comandaments en particular
A més, anem a poder desactivar notificacions per comandaments en particular. Per fer-ho, haurem de buscar la variable LONG_RUNNING_IGNORE_LIST i afegir els comandaments als quals afectarà separats per espais.
Habilita / Deshabilita la comprovació de finestra activa
Per defecte, la notificació només es mostrarà si la finestra activa no és la finestra en la qual s'executa la comanda. Això vol dir que només rebrem la notificació si la comanda s'està executant a la finestra de fons. Si la comanda s'executa a la finestra activa, no es mostrarà la notificació. Si volem que es faci aquesta distinció anem a poder configurar IGNORE_WINDOW_CHECK. seleccionarem 1 per a ometre la comprovació de la finestra.
Habilita notificació d'àudio
L'altra característica interessant de Undistract-me és que pots configurar la notificació d'àudio juntament amb la notificació visual quan es completa una ordre. Per defecte, només enviarà una notificació visual. Pots canviar aquest comportament establint la variable UDM_PLAY_SOUND en un enter diferent de zero en la línia. No obstant això, el nostre sistema Ubuntu ha de tenir les utilitats pulseaudio-utils y sound-theme-freedesktop instal·lades per habilitar aquesta funcionalitat.
Recorda que has d'executar la següent comanda per actualitzar els canvis realitzats:
source ~/.bashrc
Provant Undistract-me
És hora de verificar si això realment funciona i veurem si es mostra la notificació quan es completin les ordres de terminal de llarga execució. Ara executa qualsevol ordre que porti més de 10 segons o la durada de temps que tinguis definida la configuració de Undistract-me.
Per a aquest exemple, simplement vaig fer ping a un dels routers de la meva xarxa un nombre determinat de vegades. Aquesta comanda va prendre uns 25 segons segons per completar-se. Després de completar la comanda, vaig rebre la següent notificació a l'escriptori.
Recorda que l'script Undistract-me només notifica si la comanda determinat va prendre més de 10 segons per completar-se i la terminal en la qual s'executa no és la finestra activa. Si la comanda es completa en menys de 10 segons, no se li notificarà. Per descomptat, pots canviar aquesta configuració d'interval de temps com vaig descriure en la secció Configuració.
Trobada aquesta eina molt útil per a tots els que treballem a la terminal. I sent tan senzilla d'utilitzar i instal·lar, crec que és una cosa que no ha de faltar en cap equip.
Això ho té elementary us i és genial