На этот вопрос уже есть ответ:
В моей 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 "пытается уведомить в $ (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)
Создайте 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