export DISPLAY=:0.0 xhost localuser /usr/bin/firefox
Só de observar o comando cron acima, posso ver por que ele não funciona. O uso para o comando export
é
export name[=word]...
Em shells POSIX, o resto das palavras que seguem export DISPLAY=:0.0
serão tratadas como outras variáveis do shell que devem ser exportadas para o ambiente - não comandos que serão executados. O POSIX (edição 7, 2018) também especifica que um nome deve ser
a word consisting solely of underscores, digits, and alphabetics from the portable character set.
Isso significa que os nomes das variáveis de shell não podem conter caracteres como /
, portanto, incluir /usr/bin/firefox
na lista de nomes de variáveis a serem exportados geraria um erro com uma mensagem como not a valid identifier
ou bad variable name
.
Além disso, o comando xhost
é usado incorretamente. Execute xhost
para ver se você precisa adicionar sua conta de usuário como um usuário permitido. Isso só precisa ser executado uma vez e não deve ser agendado pelo cron.
A menos que haja algum outro mecanismo que impeça os programas de se conectarem ao servidor de exibição X, as linhas acima podem ser substituídas simplesmente por:
DISPLAY=:0.0
* * * * * /usr/bin/firefox
Isso deve lançar uma nova janela do Firefox a cada minuto. Também não há necessidade de
especifique a variável de ambiente SHELL
e, como você está especificando o caminho completo para o executável firefox
, também não é necessário definir a variável PATH
.
Veja também: especificação POSIX para export