Como iniciar um aplicativo GUI a partir do cron?

15

Eu preciso executar um applet Java de um Firefox. O problema é que eu preciso executar este Firefox a partir de um cron. Se eu executar a partir da linha de comando e seu trabalho bem, mas quando colocar o comando no cron ele falhou:

*/1 * * * * firefox http://domain.com/iqms/packetloss/iqmspacket2.html
    
por fadabi Nawi 21.08.2014 / 11:30

2 respostas

6

Eu encontrei esta resposta que eu estou procurando além de oli:

Após algumas pesquisas, descobri que preciso ser executado como um usuário válido, em vez do root.

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

tq

    
por fadabi Nawi 22.08.2014 / 02:44
20

O Cron é executado em um ambiente que não sabe nada sobre o gerenciador de exibição ( $DISPLAY não está definido). Sua janela de terminal em que você está testando está configurada para isso. Se você tentou em um terminal "real", ou por SSH, você veria quebrar.

Se você tiver apenas um servidor X em execução, apenas a especificação da exibição poderá funcionar:

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

Provavelmente, você poderia se esforçar mais para descobrir em que exibição está, em vez de assumir que é :0 , mas provavelmente funcionará na maioria das vezes.

Se você precisar recarregar bastante alguma coisa, consulte Recarregamento automático de guias ou plugins semelhantes do Firefox.

    
por Oli 21.08.2014 / 11:54