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