Bagaimana cara memulai aplikasi GUI dari cron?

18

Saya perlu menjalankan applet Java dari Firefox. Masalahnya adalah, saya harus menjalankan Firefox ini dari sebuah cron. Jika saya menjalankan dari baris perintah dan berfungsi dengan baik, tetapi ketika menempatkan perintah di cron gagal:

*/1 * * * * firefox http://domain.com/iqms/packetloss/iqmspacket2.html
fadabi Nawi
sumber
1
Anda dapat menggunakan perpustakaan java Selenium jika Anda membutuhkan lebih banyak fungsi daripada hanya membukanya.
Övünç Metin
Anda juga dapat menggunakan Selenium dengan python, yang lebih mudah untuk skrip.
ESala

Jawaban:

25

Cron berjalan di lingkungan yang tidak tahu apa-apa tentang manajer tampilan ( $DISPLAYtidak disetel). Jendela terminal Anda yang telah Anda uji memiliki set ini untuk itu. Jika Anda mencobanya di terminal "nyata", atau melalui SSH, Anda akan melihatnya rusak.

Jika Anda hanya menjalankan satu server X, hanya menentukan tampilan mungkin berfungsi:

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

Anda mungkin bisa lebih berupaya untuk mengerjakan tampilan apa yang sedang duduk di bawah daripada menganggapnya :0tapi itu mungkin akan bekerja sebagian besar waktu.

Jika Anda hanya perlu memuat ulang sesuatu, lihat Tab Auto Reload atau plugin Firefox serupa.

Oli
sumber
Saya menemukan jawaban ini tetapi masih belum memulai firefox. Setelah beberapa pencarian, saya menemukan bahwa saya perlu menjalankan sebagai pengguna yang valid, bukan dari root. * * * * * "DISPLAY =: 0.0 / usr / bin / firefox -new-window x.com/iqms/packetloss/iqmspacket2.html "
fadabi Nawi
1
@fadabiNawi Cara pengelolaan yang lebih mudah adalah dengan menginstal cron line ke crontab pengguna yang benar. Masuklah seperti yang Anda inginkan, dancrontab -e
Oli
7

Saya menemukan jawaban ini saya mencari tambahan untuk oli:

Setelah beberapa pencarian, saya menemukan bahwa saya perlu menjalankan sebagai pengguna yang valid, bukan dari root.

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

tq

fadabi Nawi
sumber
Ini membantu, terima kasih banyak! Hanya sebuah catatan: jalur lengkap ke Firefox adalah wajib, saya tidak menyadarinya dan itu tidak berhasil
aexl