elementaryOS présente la fonctionnalité suivante pour informer l'utilisateur du processus de terminal terminé.
Est-il possible d'utiliser cette fonctionnalité dans Ubuntu?
Figure 1: Exemple de notification de terminal eOS
Ce que vous voulez probablement déjà est disponible via votre ~/.bashrc
courtoisie this et this :
Remarque: cela suppose que vous avez installé libnotify-bin
. Si ce n'est pas le cas, lancez simplement Sudo apt-get install libnotify-bin
pour l'obtenir.
Vérifiez que votre ~/.bashrc
a des lignes comme celle-ci:
# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "Task finished" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
Notez que "tâche terminée" n'est pas présent dans le code d'origine.
Ainsi, dans votre exemple spécifique, vous exécuterez
Sudo apt-get update; alert
Si vous souhaitez que la notification reste à l'écran un peu plus longtemps, utilisez -t 3000
(en millisecondes). Ou, si vous souhaitez que la notification s'affiche jusqu'à ce que vous la renvoyiez, utilisez --urgency=critical
.
Voici ce que je vois:
ndistract-me fournit des notifications pour les commandes de terminal qui durent plus de 10 secondes.
Sudo apt install undistract-me
echo 'source /etc/profile.d/undistract-me.sh' >> ~/.bashrc
Vous pouvez définir $Prompt_COMMAND
pour déclencher une commande notify-send
à la fin d'une commande dans ~/.bashrc
:
Prompt_COMMAND='notify-send --icon=/usr/share/icons/Adwaita/256x256/apps/utilities-terminal.png "Task finished" "$(history | sed -n "\$s/^ [0-9]\+ //p")"'
La mise en garde est que cela peut devenir assez gênant bientôt, car il enverra une notification à chaque fois qu'une commande est exécutée.