web-dev-qa-db-fra.com

Comment utiliser la notification de terminal eOS dans Ubuntu?

elementaryOS présente la fonctionnalité suivante pour informer l'utilisateur du processus de terminal terminé.

Est-il possible d'utiliser cette fonctionnalité dans Ubuntu?

enter image description here

Figure 1: Exemple de notification de terminal eOS

5
orschiro

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:

OSD alert

8
DK Bose

ndistract-me fournit des notifications pour les commandes de terminal qui durent plus de 10 secondes.

  1. Sudo apt install undistract-me
  2. echo 'source /etc/profile.d/undistract-me.sh' >> ~/.bashrc
3
orschiro

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")"'

enter image description here

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.

1
kos