Làm thế nào để bắt đầu một ứng dụng GUI từ cron?


18

Tôi cần chạy một applet Java từ Firefox. Vấn đề là, tôi cần chạy Firefox này từ một cron. Nếu tôi chạy từ dòng lệnh và nó hoạt động tốt, nhưng khi đặt lệnh vào cron thì nó thất bại:

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

1
Bạn có thể sử dụng thư viện java của Selenium nếu bạn cần nhiều chức năng hơn là chỉ mở nó.
Övünç Metin

Bạn cũng có thể sử dụng Selenium với python, dễ dàng hơn cho các tập lệnh.
ESala

Câu trả lời:


25

Cron chạy trong môi trường không biết gì về trình quản lý hiển thị ( $DISPLAYkhông được đặt). Cửa sổ đầu cuối của bạn mà bạn đã thử nghiệm có bộ này cho nó. Nếu bạn đã thử nó trong một thiết bị đầu cuối "thực" hoặc qua SSH, bạn sẽ thấy nó bị hỏng.

Nếu bạn chỉ có một máy chủ X đang chạy, chỉ cần chỉ định màn hình có thể hoạt động:

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

Bạn có thể có thể nỗ lực nhiều hơn để tìm ra màn hình hiển thị mà nó đang ngồi thay vì giả sử nó :0nhưng điều đó có thể sẽ hoạt động hầu hết thời gian.

Nếu bạn chỉ cần tải lại một cái gì đó nhiều, hãy xem Tab Auto Tải lại hoặc các plugin Firefox tương tự.


Tôi tìm thấy câu trả lời này nhưng vẫn không khởi động firefox. Sau một vài lần tìm kiếm, tôi thấy rằng tôi cần phải chạy như một người dùng hợp lệ thay vì từ root. * * * * * "HIỂN THỊ =: 0,0 / usr / bin / firefox -new -window x.com/iqms/packetloss/iqmspacket2.html "
fadabi Nawi

1
@fadabiNawi Một cách quản lý dễ dàng hơn đó là cài đặt dòng cron vào crontab của người dùng chính xác. Đăng nhập như những gì bạn muốn, vàcrontab -e
Oli

7

Tôi tìm thấy câu trả lời này, tôi đang tìm kiếm bổ sung cho oli:

Sau một vài lần tìm kiếm, tôi thấy rằng tôi cần phải chạy như một người dùng hợp lệ thay vì từ root.

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

tq


Điều này đã giúp, cảm ơn rất nhiều! Chỉ cần một lưu ý: đường dẫn đầy đủ đến Firefox là bắt buộc, tôi đã không nhận ra điều đó và nó không hoạt động
aexl
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.