Как использовать notify-send с crontab?

Я действительно прочитал много уроков, но crontab не начинает отправлять уведомления.

Что я пробовал:

  1. etc/crontab

    добавлено в конце:

    15 * * * * notify-send 'crontab' 'test'
    
  2. с интерфейсом 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!'

Другие вопросы по тегам