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


18

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

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

1
Seleniumのjavaライブラリは、開くだけでなく、より多くの機能が必要な場合に使用できます。
-ÖvünçMetin 14

Seleniumをpythonで使用することもできます。これはスクリプトの方が簡単です。
ESala

回答:


25

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

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

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

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

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


私はこの答えを見つけましたが、それでもFirefoxを起動しません。数回検索した結果、ルートからではなく有効なユーザーとして実行する必要があることがわかりました。* * * * * "DISPLAY =:0.0 / usr / bin / firefox -new-window x.com/iqms/packetloss/iqmspacket2.html "
fadabi Nawi 14

1
@fadabiNawiこれを管理する簡単な方法は、正しいユーザーのcrontabにcron行をインストールすることです。希望するcrontab -e
ユーザー

7

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

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

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

tq


これは助けてくれました、ありがとう!注:Firefoxへの完全なパスは必須ですが、それに気づかず、機能しませんでした
aexl
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.