La plupart des applications peuvent afficher des notifications bien 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 script bash qui fera un traitement long d'une fée en arrière-plan et je veux vraiment savoir quand il sera fini. Comment puis-je montrer cette notification Nice à partir d'un script bash?
Si vous utilisez le nouveau système de notification de Jaunty, vous souhaitez que la commande notify-send
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.
Trouvé d'une autre manière, par Zenity
echo 'message:hi' | zenity --notification --listen
(Cela a aussi l'avantage d'être déjà installé sur Ubuntu.)
Il y a aussi xmessage qui ouvrira une fenêtre, ce qui devrait fonctionner sur n'importe quel système X11.
Pro: Il permet également d'inviter de manière interactive l'utilisateur avec des boutons.
Con: Comme toute alerte contextuelle, elle reçoit généralement le focus . Par conséquent, si vous êtes en train de la saisir, elle peut disparaître avant de lire le message.
Pour les utilisateurs de KDE:
$ kdialog --title "Long process completed!" --passivepopup "This popup will disappear in 5 seconds" 5 &
Il existe une solution multiplate-forme appelée Yfiton :
$ yfiton -n desktop -Pmessage="Lunch time!" -Pposition=TOP_RIGHT
notify-send "Hello world"
Source: https://superuser.com/a/31919/425838
[la fenêtre ne fait pas l'autofocus]
notify-send -t 0 "Hello world"
Source: moi-même; note: -t
est ignoré pour toutes les valeurs sauf 0 - quelle stupidité . :(
OR
[la fenêtre est mise au point automatiquement]
zenity --info --title "Hello" --text "World"
Source: https://askubuntu.com/a/804475/327339
OR
--timeout
spécifié en secondes] zenity --info --title "Hello" --text "World" --timeout=2
Source: moi-même en train de lire les pages de manuel: man zenity
OR
[super laid]
xmessage 'hello world'
Dans un script Shell, vous pouvez également appeler l'utilitaire osd_cat à partir de libxosd.