Recevoir une notification lorsqu'une tâche de terminal est terminée
Je préfère le mode CLI au mode GUI pour effectuer la plupart des tâches dans ma machine Linux, et je suis sûr que la plupart d'entre vous le feront aussi. Lorsque j'exécute une commande qui prend beaucoup de temps, je vérifie constamment le terminal pour m'assurer si la tâche est terminée ou non. Disons par exemple que lorsque je mets à jour mon système Arch, je continue de vérifier le terminal pour savoir si la tâche donnée est terminée ou non. Pas plus! Aujourd'hui, je suis tombé sur un script utile appelé NotiFyre qui vous avertit avec une fenêtre contextuelle lorsqu'une activité du terminal est terminée.
Je l'ai testé sur le bureau Ubuntu 16.04 LTS et fonctionne bien comme décrit ci-dessous.
Recevoir une notification lorsqu'une tâche de terminal est effectuée à l'aide de NotiFyre
Assurez-vous d'avoir installé les prérequis suivants.
sudo apt-get install notify-osd pulseaudio-utils libnotify-binGénéralement, ces prérequis seront installés par défaut sur la plupart des distributions Linux. Pour vérifier si notify-osd fonctionne ou non en exécutant la commande suivante depuis votre terminal.
notify-send "hello"La commande ci-dessus ouvrira une fenêtre contextuelle qui affichera un message « bonjour ». Si aucun message n'apparaît, cela signifie que notify-osd ne fonctionne pas. Essayez de réinstaller les prérequis ci-dessus comme indiqué ci-dessous.
sudo apt-get --reinstall install libnotify-bin notify-osd
Exécutez maintenant la commande notify-send et voyez si le message apparaît.
Ensuite, téléchargez ou clonez git le script NotiFyre à partir de sa page GitHub. Le lien est joint à la fin de ce guide.
Ensuite, ouvrez le dossier NotiFyre. Copiez les fichiers suivants et placez-les dans votre dossier HOME si vous utilisez le shell BASH.
- bash-preexec.sh
- notifyre.sh
- terminal.png
Ensuite, éditez le fichier bashrc :
sudo vi ~/.bashrcAjoutez les lignes suivantes à la fin.
source ~/notifyre.sh
source ~/bash-preexec.shEnregistrez et fermez le fichier. Ensuite, exécutez la commande suivante pour prendre en compte les modifications enregistrées.
source ~/.bashrcMaintenant, exécutez n'importe quelle tâche sur votre terminal, vous serez averti à chaque fois qu'une commande est terminée.
Cool, n'est-ce pas ?
Consultez également cet outil similaire :
- Undistract-me : recevoir une notification lorsque les commandes du terminal à exécution longue sont terminées
Si vous utilisez Fish shell, vous devez placer le terminal.png, prompt_pwd.fish, notifyre.fish et les fichiers nf.fish dans votre dossier ~/.config/fish/functions/. Modifiez ensuite votre fichier functions/fish_prompt.fish et ajoutez les lignes suivantes juste avant la fin.
function fish_prompt
...
eval (notifyre)
endVous pouvez modifier le son (tonalité) de notification en modifiant cette ligne dans le fichier notifyre.sh.
ALERT=/usr/share/sounds/ubuntu/notifications/Slick.oggEn outre, vous pouvez modifier l'intervalle de notification en modifiant la ligne suivante dans le fichier notifyre.sh.
[ $(($(date +%s) - start)) -le 0 ] || notify-send "Terminal process" "$(echo $@) completed in $(($(date +%s) - start)) seconds" -i ~/terminal.png -t 2000Désormais, vous n'avez plus besoin de vérifier constamment le Terminal pour savoir si une tâche est terminée ou non. Exécutez simplement et oubliez la tâche de terminal de longue durée. NotiFyre s'en chargera et vous avertira une fois la tâche terminée.
Et c'est tout. J'espère que cela a été utile. D'autres bonnes choses à venir. Restez à l'écoute!
Acclamations!
Ressource :
- Page GitHub NotiFyre
