Afficher un message Notify Send depuis une crontab
Une petit astuce qui peut vous rendre service : afficher un message par
notify-send depuis la crontab.
A quoi cela peut il utile ? Exemple : afficher un message pour vous
signaler qu’il est l’heure d’aller déjeuner … Pour afficher un message
à l’écran il faut utiliser la commande notify-send, sa syntaxe est
de la forme :
notify-send [OPTIONS] <titre> [texte du message]
Les options possibles sont :
- -u,
--urgency=LEVEL
: le niveau d’importance du message (low, normal, critical). -
-t
,--expire-time=TIME
: le temps en millisecondes que durera l’affichage du message -
-i
,--icon=ICON\[,ICON...\]
: permet de définir un icone à afficher dans la boite d’information -
-c
,--category=TYPE\[,TYPE...\]
: la catégorie du message
Exemple pratique :
notify-send -t 5000 -i /usr/share/pixmaps/debian-logo.png "Titre du message" "Texte du message"
Si la commande est lancée depuis une fenêtre de l’envronnement courant, le message s’affiche sans problème, par contre il ne s’affiche pas s’il est programmé dans une crontab.
Afin d’afficher le message depuis une crontab, il faut définir le
DISPLAY
qui est utilisé.
Pour cela il faut définir les variables DISPLAY
et XAUTHORITY.
Exemple d’une commande de test depuis la crontab :
DISPLAY=:0.0
XAUTHORITY=$HOME/.Xauthority
*/5 * * * * /usr/bin/notify-send -t 5000 -i /usr/share/pixmaps/debian-logo.png "Test" "Message de test"
Si la commande notify-send est absente sur votre système, elle s’installe sur un système Debian avec la commande :
apt-get install libnotify-bin