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
Другие вопросы по тегам