web-dev-qa-db-ja.com

cronからGUIアプリケーションを起動する方法は?

FirefoxからJavaアプレットを実行する必要があります。問題は、このFirefoxをcronから実行する必要があるということです。コマンドラインから実行するとその動作は正常ですが、cronにコマンドを入力すると失敗しました:

*/1 * * * * firefox http://domain.com/iqms/packetloss/iqmspacket2.html
18
fadabi Nawi

私はオリの追加を探しているこの答えを見つけました:

数回検索した結果、ルートからではなく有効なユーザーとして実行する必要があることがわかりました。

* * * * * su fadabi -c "DISPLAY=:0.0 /usr/bin/firefox -new-window x.com/iqms/packetloss/iqmspacket2.html"; 

tq

7
fadabi Nawi

Cronは、ディスプレイマネージャーについて何も知らない環境で実行されます($DISPLAYが設定されていません)。テストしてきたターミナルウィンドウには、この設定があります。 「実際の」端末で、またはSSH経由で試してみた場合、破損することがわかります。

実行中のXサーバーが1つしかない場合は、ディスプレイを指定するだけで機能する場合があります。

* * * * *    DISPLAY=:0 firefox ...

おそらく:0であると仮定するよりも、その下にあるディスプレイを見つけるのにより多くの労力をかけることができますが、それはほとんどの場合うまくいくでしょう。

何かをリロードする必要がある場合は、 Tab Auto Reload または同様のFirefoxプラグインをご覧ください。

25
Oli