При использовании notify-send внутри службы сообщение не появляется. Почему?

Я разрабатываю скрипт уведомления, который отправляет мне сообщения из json-файла. Я попытался запустить его как службу, так как это был самый простой способ запустить и остановить скрипт из командной строки.

У меня есть следующий простой сервис:

description "Notify me service"
author  "jo"
start on runlevel [2345]
stop on runlevel [016]
script
    exec /usr/bin/notify-send test >> /var/log/test.log 2>&1
end script

Кажется, что скрипт запускается, поскольку ошибок нет (я также тестировал его с другим скриптом, вызываемым службой), но нет сообщения появляется. Это почему?

0
задан 13.04.2020, 11:53

1 ответ

Эти «сервисы» запускаются во время загрузки еще до того, как вы освоили экран входа в систему. Я не знаю, что вы пытаетесь сделать, но такие события должны произойти после входа в систему.

Если вы пытаетесь проверить, когда ваш скрипт выполняется, вы должны либо распечатать что-то в файл (notify-send не генерирует вывод), либо запустить службу в обычном режиме.

Если вы запустите sudo services nameofscript start, вы не сможете получить уведомление, так как вы будете работать от имени пользователя root.

Я верю, что вы не пытаетесь делать то, о чем просите, но это отвечает на сомнения, с которыми вы сталкиваетесь. В следующий раз вы должны спросить, что вы пытаетесь сделать, какой подход вы используете и каковы ожидаемые результаты.

0
ответ дан 13.04.2020, 11:53

Теги

Похожие вопросы