Il y a quelque temps, nous avons publié comment recevoir une notification lorsqu'une activité de terminal est terminée . Aujourd'hui, j'ai découvert un utilitaire similaire appelé "undistract-me" qui vous avertit lorsque les commandes de terminal à exécution longue sont terminées. Imaginez ce scénario. Vous exécutez une commande qui prend un certain temps pour se terminer. En attendant, vous consultez votre facebook et vous vous impliquez tellement. Au bout d'un moment, vous vous êtes souvenu que vous aviez exécuté une commande il y a quelques minutes. Vous revenez au Terminal et remarquez que la commande est déjà terminée. Mais vous n'avez aucune idée quand la commande est terminée . Avez-vous déjà été dans cette situation? Je parie que la plupart d'entre vous ont été dans cette situation plusieurs fois. C'est là que "ne me distrait pas" vient en aide. Vous n'avez pas besoin de vérifier constamment le terminal pour voir si une commande est terminée ou non. L'utilitaire Undistract-me vous avertira lorsqu'une commande de longue durée est terminée. Il fonctionnera sur Arch Linux, Debian, Ubuntu et d'autres dérivés d'Ubuntu.
Installer Undistract-me
Undistract-me est disponible dans les dépôts par défaut de Debian et de ses variantes comme Ubuntu. Tout ce que vous avez à faire est d'exécuter la commande suivante pour l'installer.
$ sudo apt-get install undistract-me
L'Arch Linux les utilisateurs peuvent l'installer depuis AUR en utilisant n'importe quel programme d'aide, par exemple YaY .
$ yay -S undistract-me-git
Ensuite, exécutez la commande suivante pour ajouter "undistract-me" à votre Bash.
$ echo 'source /etc/profile.d/undistract-me.sh' >> ~/.bashrc
Vous pouvez également exécuter cette commande pour l'ajouter à votre Bash :
$ echo "source /usr/share/undistract-me/long-running.bash\nnotify_when_long_running_commands_finish_install" >> .bashrc
Si vous êtes en Zsh shell, exécutez cette commande :
$ echo "source /usr/share/undistract-me/long-running.bash\nnotify_when_long_running_commands_finish_install" >> .zshrc
Enfin, mettez à jour les modifications :
Pour Bash :
$ source ~/.bashrc
Pour Zsh :
$ source ~/.zshrc
Configurer Ne pas me distraire
Par défaut, Undistract-me prendra en compte toute commande qui prend plus de 10 secondes pour terminer en tant que commande de longue durée. Vous pouvez modifier cet intervalle de temps en modifiant /usr/share/undistract-me/long-running.bash fichier.
$ sudo nano /usr/share/undistract-me/long-running.bash
Trouvez "LONG_RUNNING_COMMAND_TIMEOUT" variable et remplacez la valeur par défaut (10 secondes) par autre chose de votre choix.
Enregistrez et fermez le fichier. N'oubliez pas de mettre à jour les modifications :
$ source ~/.bashrc
En outre, vous pouvez désactiver les notifications pour des commandes particulières. Pour ce faire, recherchez la "LONG_RUNNING_IGNORE_LIST" variable et ajoutez les commandes séparées par des espaces.
Par défaut, la notification ne s'affichera que si la fenêtre active n'est pas la fenêtre dans laquelle la commande s'exécute. Cela signifie qu'elle ne vous avertira que si la commande s'exécute dans la fenêtre de terminal en arrière-plan. Si la commande est en cours d'exécution dans la fenêtre active Terminal, vous ne serez pas averti. Si vous souhaitez qu'undistract-me envoie des notifications, que la fenêtre du terminal soit visible ou en arrière-plan, vous pouvez définir IGNORE_WINDOW_CHECK à 1 pour ignorer la vérification de la fenêtre.
L'autre fonctionnalité intéressante de Undistract-me est que vous pouvez définir une notification audio ainsi qu'une notification visuelle lorsqu'une commande est effectuée. Par défaut, il n'enverra qu'une notification visuelle. Vous pouvez modifier ce comportement en définissant la variable UDM_PLAY_SOUND en un entier non nul sur la ligne de commande. Cependant, votre système Ubuntu devrait avoir pulseaudio-utils et sound-theme-freedesktop utilitaires installés pour activer cette fonctionnalité.
N'oubliez pas que vous devez exécuter la commande suivante pour mettre à jour les modifications apportées.
Pour Bash :
$ source ~/.bashrc
Pour Zsh :
$ source ~/.zshrc
Il est temps de vérifier si cela fonctionne vraiment.
Obtenir une notification lorsque les commandes de terminal à exécution longue sont terminées
Maintenant, exécutez n'importe quelle commande qui prend plus de 10 secondes ou la durée que vous avez définie dans le script Undistract-me.
J'ai exécuté la commande suivante sur mon bureau Arch Linux.
$ sudo pacman -Syu
Cette commande a pris 32 secondes pour se terminer. Après l'exécution de la commande ci-dessus, j'ai reçu la notification suivante.
N'oubliez pas que le script Undistract-me vous avertit uniquement si la commande donnée a pris plus de 10 secondes pour se terminer. Si la commande est terminée en moins de 10 secondes, vous ne serez pas notifié. Bien sûr, vous pouvez modifier ces paramètres d'intervalle de temps comme je l'ai décrit dans la section Configuration ci-dessus.
Je trouve cet outil très utile. Cela m'a aidé à reprendre le travail après m'être complètement perdu dans d'autres tâches. J'espère que cet outil vous sera également utile.