crontab + уведомление-отправка + Ubuntu 16.04
В моей 64-битной ОС Ubuntu 16.04 я попробовал следующее
* * * * * export DISPLAY=:0.0 && notify-send Hey "How are you"
А также
* * * * * export DISPLAY=:0.0 && /usr/bin/notify-send Hey "How are you"
Но, к сожалению, это не работает.
В других темах я обнаружил, что вышеуказанная команда работает.
Как запустить его на моей машине?
Команда notify-send Hey "How are you"
работает на терминале.
Также команда * * * * * echo "trying to notify at $(date)" >> /home/user/Desktop/test.txt
отлично работает из файла crontab
Выход из $ echo $DISPLAY
является :0
также
$ who -u
cosmicraga tty7 2016-11-07 06:45 06:12 2524 (:0)
cosmicraga pts/1 2016-11-07 12:54 . 6333 (:0)
cosmicraga pts/17 2016-11-07 12:50 00:02 6333 (:0)
1 ответ
Создайте notify.sh
файл в домашнем каталоге.
#!/usr/bin/env bash
username=$(/usr/bin/whoami)
pid=$(pgrep -u $username nautilus)
dbus=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$pid/environ | sed 's/DBUS_SESSION_BUS_ADDRESS=//' )
export DBUS_SESSION_BUS_ADDRESS=$dbus
/usr/bin/notify-send "How are you"
в crontab
:
* * * * * DISPLAY=0:0 /bin/sh /home/YOURUSERNAME/notify.sh