I need to run a Java applet from a Firefox. The problem is, I need to run this Firefox from a cron. If I run from the command line and its work fine, but when put the command in the cron it failed:

*/1 * * * * firefox http://domain.com/iqms/packetloss/iqmspacket2.html
  • 1
    You can use Selenium's java library if you need more functions than just opening it. Aug 21 '14 at 14:08
  • You can also use Selenium with python, which is easier for scripts.
    – ESala
    Nov 24 '15 at 13:17

Cron runs in an environment that knows nothing about the display manager ($DISPLAY isn't set). Your terminal window that you've been testing in has this set for it. If you tried it in a "real" terminal, or over SSH, you'd see it break.

If you've only got one X server running, just specifying the display might work:

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

You could probably put more effort into working out what display it's sitting under rather than assuming it's :0 but that will probably work most of the time.

If you just need to reload something a lot, look at Tab Auto Reload or similar Firefox plugins.

  • I found this answer but still does not start the firefox. After a few search, I found that i need to run as a valid user instead from root. * * * * * "DISPLAY=:0.0 /usr/bin/firefox -new-window x.com/iqms/packetloss/iqmspacket2.html" Aug 22 '14 at 0:35
  • 2
    @fadabiNawi An easier way of managing that would be to install the cron line into the correct user's crontab. Log in as who you want, and crontab -e
    – Oli
    Aug 22 '14 at 6:56
  • you just read my mind 6 years before Dec 5 '20 at 14:07

I found this answer i am looking for addition to oli's :

After a few search, I found that i need to run as a valid user instead from root.

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


  • This helped, thanks a lot! Just a note: full path to Firefox is mandatory, I didn't realise that and it didn't work
    – aexl
    Jul 27 '18 at 7:28

For me DISPLAY=:0 didn't work. When I check echo $DISPLAY in the terminal it returned 1. So DISPLAY=:1 worked for me. (on Ubuntu 20.04)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.