Lanzamiento de la aplicación X11 (Firefox) a través de crontab

Lanzamiento de la aplicación X11 (Firefox) a través de crontab

Quiero escribir un crontab que abra Firefox cada minuto (sólo para probarlo, sé que no tiene ningún sentido). Mi problema es que aunque crontab esté activo no pasa nada. Así es como se ve mi crontab:

SHELL=/bin/bash
PATH=~/bin:/usr/bin:bin
* * * * * export DISPLAY=:0.0 xhost localuser /usr/bin/firefox

¿Alguna idea de por qué no funciona?

Respuesta1

export DISPLAY=:0.0 xhost localuser /usr/bin/firefox

Con solo mirar el comando cron anterior, puedo ver por qué no funciona. El uso del exportcomando es

export name[=word]...

En los shells POSIX, el resto de las palabras siguientes export DISPLAY=:0.0se tratarán como otras variables del shell que deben exportarse al entorno, no como comandos que se ejecutarán. POSIX (Número 7, edición de 2018) también especifica que unnombredebiera ser

una palabra que consta únicamente de guiones bajos, dígitos y letras del conjunto de caracteres portátiles.

Esto significa que los nombres de las variables del shell no pueden contener caracteres como, /por lo que intentar incluirlos /usr/bin/firefoxen la lista de nombres de variables a exportar arrojaría un error con un mensaje como not a valid identifiero bad variable name.


Además, el xhostcomando se utiliza incorrectamente. Ejecútelo xhostsolo para ver si necesita agregar su cuenta de usuario como usuario permitido. Esto sólo debería necesitarse ejecutarse una vez y no debería programarse mediante cron.


A menos que exista algún otro mecanismo que impida que los programas se conecten al servidor de visualización X, las líneas anteriores pueden simplemente reemplazarse con:

DISPLAY=:0.0
* * * * * /usr/bin/firefox

Esto debería abrir una nueva ventana de Firefox cada minuto. Tampoco es necesario especificar la SHELLvariable de entorno y, dado que está especificando la ruta completa para el firefoxejecutable, tampoco es necesario configurar la PATHvariable.


Ver también:Especificación POSIX paraexport

información relacionada