У меня есть скрипт на python, который получает сообщения от MQTT-сервера и анализирует их для отображения с помощью libnotify. Это работает нормально, когда я запускаю его из терминала, но когда я запускаю его с помощью upstart, я не получаю пузыри уведомлений. Я предполагаю, потому что он не понимает, какой дисплей X и файл Xauthority использовать.
Когда я делал что-то похожее с cron, мне нужно было установить его как * / 10 * * * * DISPLAY =: 0.0 XAUTHORITY = ~ / .Xauthority notify-send "Не забывай", "ты классный" I Предположим, мне нужно сделать что-то подобное с выскочкой, чтобы сделать эту работу? Или есть способ получить libnotify для трансляции на все xscreens или что-то подобное?
Спасибо за любые советы или указатели
Не лучше ли подойти к этой проблеме под другим углом?
Я попробую запустить ваш скрипт при входе в систему, поместив файл .desktop в ~ / .config / autostart и убедившись, что скрипт перезапускается само по себе, если есть проблема с сетью (я полагаю, именно поэтому вы используете выскочку).
Что-то вроде этого возможно:
while 1:
rc = 0
while rc == 0:
rc = client.loop()
# Check error code, possibly pause for a while
client.reconnect()