web-dev-qa-db-ja.com

upstartで開始されたデーモンからのlibnotifyの使用

MQTTサーバーからメッセージを取得し、libnotifyを使用してメッセージを解析して表示するpythonスクリプトがあります。これは、ターミナルから実行すると正常に機能しますが、upstartを使用して実行すると、通知バブル。使用するXディスプレイとXauthorityファイルがわからないためだと思います。

Cronで同様のことをしたときは、*/10 * * * * DISPLAY =:0.0 XAUTHORITY =〜/ .Xauthoritynotify-send「忘れないで」「あなたは素晴らしい」と設定する必要がありました。これを機能させるためにupstartで同様のことをするには?または、libnotifyを取得してすべてのxscreenなどにブロードキャストする方法はありますか?

アドバイスやポインタをありがとう

2
daubers

この問題に別の角度からアプローチしたほうがいいですか?

ログイン時に〜/ .config/autostartに.desktopファイルを配置してスクリプトを実行し、ネットワークに問題が発生した場合にスクリプトが自動的に再起動することを確認します(これが、upstartを使用している理由だと思います)。

おそらくこのようなもの:

while 1:
    rc = 0
    while rc == 0:
        rc = client.loop()
    # Check error code, possibly pause for a while
    client.reconnect()
1
Roger Light