Como acessar o display X a partir de um cron job ao usar o gdm3? [duplicado]

6

Estou tentando executar um trabalho cron que precisa de acesso à minha sessão X. Eu sei que minha sessão X será sempre: 0, então parte dela é fácil:

/30 * * * * DISPLAY=:0 command

mas o problema é que o gdm3 não usa mais $HOME/.Xauthority ; em vez disso, usa /var/run/gdm3/auth-for-anthony-XXXXXX/database , onde os X's mudam cada login.

Diferente do symlinking $HOME/.Xauthority para o arquivo GDM3 a cada login (ou edição de crontab em cada login, etc - automaticamente em .xsession claro), existe alguma maneira de fazer o cron funcionar?

    
por derobert 29.11.2011 / 20:31

2 respostas

1

Eu diria que tente criar um script que execute um shell (no modo de login ou defina a variável $ HOME) e acesse a Xsession. Eu duvidaria disso, pois a execução de um cronjob não forneceria um tty válido para o processo, e seria difícil acessar o Xsession. No entanto, estou curioso para saber qual o propósito que você está tentando resolver acessando sua Xsession? como iniciar um xterm ou navegador? Se você está tentando fazer isso apenas para automação em terminais sem cabeça, então eu sugiro que você procure outras alternativas, como ferramentas de automação com selênio.

    
por 30.11.2011 / 08:08
0

Ok, que tal o xauth tentando estabelecer a conexão primeiro? O seguinte comando contata o servidor: 0 para criar uma autorização usando o protocolo MIT-MAGIC-COOKIE-1. Os clientes que se conectarem com essa autorização não serão confiáveis.

    %  xauth generate :0 . trusted

e, em seguida, adicione a entrada de chave no arquivo que foi gerado

    %  xauth add :0 . <key>

Deixe-me saber como é.

    
por 30.11.2011 / 14:52

Tags