Заставляем работать связку: python, notify2, crontab
Опубликовано 2015.03.12
При реализации скрипта
автоматической загрузки новых подкастов с сайта podfm.ru
возникла необходимость внедрения уведомлений на рабочем столе о появлении новых файлов.
Для решения этой задачи была выбрана библиотека notify2. И все работало хорошо, до тех пор,
пока не потребовалось запускать скрипт по расписанию в crontab…
Ниже приведен код скрипта, который позволяет вывести уведомление на рабочий стол:
Результат работы скрипта.
При попытке запустить этот скрипт в crontab появляется сообщении об ошибке:
Проблема заключается в том, что notify2 необходимо знать адрес пользовательской
шины dbus. Для этого перед запуском скрипта нам необходимо экспортировать
переменную окружения DBUS_SESSION_BUS_ADDRESS. Сделать это можно следующим образом:
Полный код скрипта можно взять здесь.
Следует отметить, что скрипт должен вызываться из crontab от имени пользователя с активной
сессией x11.