Как использовать notify-send с crontab?
Я действительно прочитал много уроков, но crontab не начинает отправлять уведомления.
Что я пробовал:
etc/crontab
добавлено в конце:
15 * * * * notify-send 'crontab' 'test'
с интерфейсом crontab:
crontab -e
добавлено в конце:
15 * * * * notify-send 'crontab' 'test'
2 ответа
Решение
По предложению @Lnux:
Создайте.sh, например 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"
Затем настройте crontab:
crontab -e
И внизу добавьте:
* * * * * /home/myUser/test.sh
Obs.: вы можете поместить ваш файл.sh в другое место и не забудьте разрешить его выполнение.
Crontab работает в фоновом режиме и без указанного графического вывода ничего не покажет. Так что вы должны указать, какой вывод вы хотели бы использовать. Чтобы добиться этого, положите export DISPLAY=:0 &&
перед вами, например,
15 * * * * export DISPLAY=:0 && notify-send 'I am alive!'