La plupart des applications peuvent afficher des notifications joliment formatées sur les événements qui apparaissent dans le coin supérieur droit de l'écran. Je suis sur le point d'écrire un bash script qui fera un traitement assez long en arrière-plan et je veux vraiment savoir quand il est terminé. Comment puis-je afficher cette belle notification à partir d'un bash script ?
Réponses
Trop de publicités?Si vous utilisez le nouveau système de notification de Jaunty, vous voulez que le bouton notifier-envoyer commande
notify-send - a program to send desktop notifications
SYNOPSIS
With notify-send you can sends desktop notifications to the user via
a notification daemon from the command line. These notifications can be
used to inform the user about an event or display some form of information
without getting in the user's way.
OPTIONS
-u, --urgency=LEVEL
Specifies the urgency level (low, normal, critical).
-t, --expire-time=TIME
Specifies the timeout in milliseconds at which to expire the notification.
-i, --icon=ICON[,ICON...]
Specifies an icon filename or stock icon to display.
-c, --category=TYPE[,TYPE...]
Specifies the notification category.
Testé sur Ubuntu 14.04, 16.04, 18.04, 20.04. Captures d'écran d'Ubuntu 20.04.
-
[Une notification popup qui se ferme automatiquement au bout de 4 à 10 secondes (en fonction des paramètres de votre système d'exploitation) :)
notify-send "Hello world"
Source : https://superuser.com/a/31919/425838 -
Fenêtre popup avec des boutons à cliquer :
-
La fenêtre n'a pas de mise au point automatique : Source : moi-même ; note : pour les anciennes versions d'Ubuntu basées sur Unity, comme la 16.04,
-t
est ignoré pour toutes les valeurs sauf 0 - quelle stupidité ! . :(. Pour les nouvelles versions d'Ubuntu basées sur Gnome, telles que 18.04 ou 20.04,-t
est entièrement ignorée. Par conséquent, sur les anciennes versions d'Ubuntu basées sur Unity, telles que 16.04, l'utilisation de-t 0
fait apparaître les boutons, mais sur les versions plus récentes de Gnome, ce n'est PAS le cas. Cela signifie que pour la capture d'écran Ubuntu 20.04 montrée ci-dessous, le comportement et l'apparence denotify-send -t 0 "Hello world"
est exactement identique ànotify-send "Hello world"
ci-dessus.notify-send -t 0 "Hello world"
Sur Ubuntu 18.04 ou 20.04 ou plus, ajoutez simplement
-u critical
à la commande pour qu'elle devienne reste ouvert indéfiniment jusqu'à ce que vous cliquiez dessus ! :notify-send -u critical "Hello world"
Source : Le commentaire de @lucidbrot sous cette réponse, plus mes propres tests. -
OU La fenêtre a une mise au point automatique :
zenity --info --title "Hello" --text "World"
Remarque : la fenêtre ne se fermera PAS tant que vous n'aurez pas cliqué sur le bouton OK bouton.
Source : https://askubuntu.com/a/804475/327339
-
-
[MY FAVORITE] La fenêtre se ferme automatiquement après le délai spécifié.
--timeout
en quelques secondes, OU après avoir cliqué sur le bouton "OK" !zenity --info --title "Hello" --text "World" --timeout=2
Remarque : la fenêtre se fermera automatiquement après le délai spécifié ci-dessus, en secondes !
Source : lecture personnelle des pages du manuel :man zenity
-
[super moche]
xmessage 'hello world'
Remarque : la fenêtre ne se fermera PAS tant que vous n'aurez pas cliqué sur le bouton okay bouton.
Source : http://www.linux-commands-examples.com/xmessage
Jouez aussi des sons
- Si vous voulez aussi jouer des sons, en même temps que la fenêtre popup, pour signifier l'achèvement d'une commande ou autre chose, voyez mon autre réponse ici : AskUbuntu.com : Comment émettre un son lorsqu'un processus est terminé ?
Il y a aussi xmessage qui fera apparaître une fenêtre, donc cela devrait fonctionner sur n'importe quel système X11.
Pro : Il permet également d'inviter l'utilisateur de manière interactive à l'aide de boutons.
Con : Comme toute alerte pop-up, elle généralement reçoit le focus, donc si vous êtes en train de taper, il peut disparaître avant que vous ayez lu le message.
- Réponses précédentes
- Plus de réponses