ElementaryOS dispose de la fonction suivante pour avertir l'utilisateur de la fin d'un processus terminal.
Est-il possible d'utiliser cette fonction dans Ubuntu ?
Figure 1 : Exemple de notification du terminal eOS
Ce que vous voulez est très probablement déjà disponible via votre ~/.bashrc
courtoisie este y este :
Note : ceci suppose que vous ayez libnotify-bin
installés. Si ce n'est pas le cas, exécutez 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 "Task finished" n'est pas présent dans le code original.
Ainsi, dans votre exemple spécifique, vous exécuterez
sudo apt-get update; alert
Si vous souhaitez que la notification reste affichée à l'écran un peu plus longtemps, utilisez la fonction -t 3000
(en millisecondes). Ou, si vous souhaitez que la notification reste affichée jusqu'à ce que vous la supprimiez, utilisez l'option --urgency=critical
.
Voici ce que je vois :
me distraire fournit des notifications pour les commandes de terminal qui prennent plus de 10 secondes pour s'achever.
sudo apt install undistract-me
echo 'source /etc/profile.d/undistract-me.sh' >> ~/.bashrc
Vous pouvez définir $PROMPT_COMMAND
pour déclencher une notify-send
à l'issue 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")"'
L'inconvénient est que cela peut vite devenir ennuyeux, car une notification est envoyée à chaque fois qu'une commande est exécutée.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.