11 votes

Comment utiliser notify-send avec crontab ?

J'ai lu beaucoup de tutoriels, mais la crontab ne lance pas l'envoi de la notification.

Ce que j'ai essayé :

  1. etc/crontab

    ajouté à la fin :

    15 * * * * notify-send 'crontab' 'test'
  2. avec l'interface crontab :

    crontab -e

    ajouté à la fin :

    15 * * * * notify-send 'crontab' 'test'

12voto

Vitor Abella Points 6699

Comme suggéré par @Lnux :

Créez un .sh, par exemple test.sh :

#!/bin/sh
eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ)";

#Code:
DISPLAY=:0 notify-send "Test"

Ensuite, configurez la crontab :

crontab -e

Et en bas, ajoutez :

* * * * * /home/myUser/test.sh

Obs. : vous pouvez placer votre fichier .sh à un autre endroit et n'oubliez pas d'autoriser son exécution.

6voto

Michal Polovka Points 1273

Crontab est exécuté en arrière-plan et sans sortie graphique spécifiée, il ne montrera rien. Vous devez donc préciser la sortie que vous souhaitez utiliser. Pour cela, mettez export DISPLAY=:0 && avant de commander, par exemple

15 * * * * export DISPLAY=:0 && notify-send 'I am alive!'

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X