GNU/Linux >> Linux Esercitazione >  >> Linux

Undistract-me:ricevi una notifica quando vengono completati i comandi del terminale di lunga durata

Qualche tempo fa abbiamo pubblicato come ricevere una notifica al termine di un'attività del Terminale . Oggi ho scoperto un'utilità simile chiamata "undistract-me" che ti avvisa quando vengono completati i comandi del terminale di lunga durata. Immagina questo scenario. Esegui un comando che richiede un po' di tempo per terminare. Nel frattempo, controlli il tuo Facebook e ne sei così coinvolto. Dopo un po', ti sei ricordato di aver eseguito un comando pochi minuti fa. Torni al Terminale e noti che il comando è già terminato. Ma non hai idea di quando il comando sarà completato . Ti sei mai trovato in questa situazione? Scommetto che la maggior parte di voi si è trovata in questa situazione molte volte. Qui è dove "undistract-me" viene in aiuto. Non è necessario controllare costantemente il terminale per vedere se un comando è stato completato o meno. L'utilità Undistract-me ti avviserà quando viene completato un comando di lunga durata. Funzionerà su Arch Linux, Debian, Ubuntu e altri derivati ​​di Ubuntu.

Installazione Undistract-me

Undistract-me è disponibile nei repository predefiniti di Debian e delle sue varianti come Ubuntu. Tutto quello che devi fare è eseguire il seguente comando per installarlo.

$ sudo apt-get install undistract-me

L'Arch Linux gli utenti possono installarlo da AUR utilizzando qualsiasi programma di supporto, ad esempio YaY .

$ yay -S undistract-me-git

Quindi, esegui il seguente comando per aggiungere "undistract-me" a Bash.

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

In alternativa puoi eseguire questo comando per aggiungerlo al tuo Bash:

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

Se sei in Zsh shell, esegui questo comando:

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

Infine aggiorna le modifiche:

Per Bash:

$ source ~/.bashrc

Per Zsh:

$ source ~/.zshrc

Configura Non distrarmi

Per impostazione predefinita, Undistract-me prenderà in considerazione qualsiasi comando che richiede più di 10 secondi da completare come comando di lunga durata. Puoi modificare questo intervallo di tempo modificando /usr/share/undistract-me/long-running.bash file.

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

Trova "LONG_RUNNING_COMMAND_TIMEOUT" variabile e cambia il valore predefinito (10 secondi) in qualcos'altro a tua scelta.

Salva e chiudi il file. Non dimenticare di aggiornare le modifiche:

$ source ~/.bashrc

Inoltre, puoi disabilitare le notifiche per comandi particolari. Per farlo, trova "LONG_RUNNING_IGNORE_LIST" variabile e aggiungi i comandi separati da spazi.

Per impostazione predefinita, la notifica verrà visualizzata solo se la finestra attiva non è la finestra in cui è in esecuzione il comando. Ciò significa che ti avviserà solo se il comando è in esecuzione nella finestra del Terminale in background. Se il comando è in esecuzione nella finestra attiva Terminale, non verrai avvisato. Se vuoi che undistract-me invii notifiche sia che la finestra del Terminale sia visibile o in background, puoi impostare IGNORE_WINDOW_CHECK a 1 per saltare il controllo della finestra.

L'altra caratteristica interessante di Undistract-me è che puoi impostare la notifica audio insieme alla notifica visiva quando viene eseguito un comando. Per impostazione predefinita, invierà solo una notifica visiva. Puoi modificare questo comportamento impostando la variabile UDM_PLAY_SOUND a un numero intero diverso da zero sulla riga di comando. Tuttavia, il tuo sistema Ubuntu dovrebbe avere pulseaudio-utils e desktop-sound-theme-free utility installate per abilitare questa funzionalità.

Ricorda che devi eseguire il seguente comando per aggiornare le modifiche apportate.

Per Bash:

$ source ~/.bashrc

Per Zsh:

$ source ~/.zshrc

È ora di verificare se funziona davvero.

Ricevi una notifica quando vengono completati i comandi del terminale a esecuzione prolungata

Ora esegui qualsiasi comando che richieda più di 10 secondi o la durata di tempo che hai definito nello script Undistract-me.

Ho eseguito il seguente comando sul mio desktop Arch Linux.

$ sudo pacman -Syu

Questo comando ha richiesto 32 secondi per essere completato. Dopo il completamento del comando precedente, ho ricevuto la seguente notifica.

Ricorda che lo script Undistract-me ti avvisa solo se il comando fornito ha richiesto più di 10 secondi per essere completato. Se il comando viene completato in meno di 10 secondi, non verrai avvisato. Naturalmente, puoi modificare le impostazioni di questo intervallo di tempo come ho descritto nella sezione Configurazione sopra.

Trovo questo strumento molto utile. Mi ha aiutato a tornare al lavoro dopo che mi ero completamente perso in altri compiti. Spero che questo strumento sia utile anche a te.


Linux
  1. 8 comandi inquietanti che perseguitano il terminale

  2. Suggerisci l'installazione di pacchetti durante l'esecuzione di un comando non disponibile

  3. Esecuzione di comandi Linux in background e in primo piano

  4. La riga di comando si sovrascrive quando i comandi diventano troppo lunghi

  5. L'esecuzione dei comandi in modo dettagliato li rende più lenti?

Kmdr – Visualizza la spiegazione dei comandi CLI nel terminale

Ricevi una notifica quando viene eseguita un'attività terminale

Come eseguire più comandi Linux contemporaneamente nel terminale Linux

Metti un timer sui tuoi comandi in esecuzione con il comando di timeout in Linux

5 metodi per ottenere una guida rapida sui comandi Linux

Esempi di comandi dello schermo:ottieni il controllo del terminale Linux / Unix