Cron não está executando trabalhos - Nenhum MTA instalado

0

Sou completamente novato no Ubuntu / Linux.
Eu estou tentando obter algumas tarefas agendadas, mas nenhum sucesso até agora.
Estou executando o Ubuntu 16.04

Estou tentando usar cron para corrigir o brilho da tela. Eu estou usando este código:

56 * * * * /usr/bin/xrandr --output HDMI1 --brightness 0.1 # JOB_ID_7

O código está rodando OK no terminal (sem os minutos e ***), mas não como uma tarefa agendada do cron.

Eu também tentei com patch relativo (withouth /usr/bin/ ).

Ao olhar para syslog , vi que:

Dec 10 10:56:01 LIQ03 cron[634]: (liq03) RELOAD (crontabs/liq03)
Dec 10 10:56:02 LIQ03 CRON[3586]: (liq03) CMD (/usr/bin/xrandr --output HDMI1 --brightness 0.1 # JOB_ID_7)
Dec 10 10:56:02 LIQ03 CRON[3585]: (CRON) info (No MTA installed, discarding output)

Então, eu entendo que não tenho um MTA instalado, que não sei como instalar ... Algum conselho?

Eu instalei o postfix para ver se agora a tarefa está funcionando OK, mas não há chance. A tela não está esmaecida de qualquer maneira.
Então, estou pensando que, de qualquer forma, a tarefa deve ser executada mesmo se o postfix não estiver instalado ...

/Var/log/syslog informa que:

Dec 10 11:43:01 LIQ03 cron[634]: (liq03) RELOAD (crontabs/liq03)
Dec 10 11:43:01 LIQ03 CRON[5487]: (liq03) CMD (/usr/bin/xrandr --output HDMI1 --brightness 0.1 # JOB_ID_7)
Dec 10 11:43:01 LIQ03 postfix/pickup[5391]: 1EB7C1611FE: uid=1000 from=<liq03>
Dec 10 11:43:01 LIQ03 postfix/cleanup[5491]: 1EB7C1611FE: message-id=<[email protected]>
Dec 10 11:43:01 LIQ03 postfix/qmgr[5392]: 1EB7C1611FE: from=<liq03@[email protected]>, size=622, nrcpt=1 (queue active)
Dec 10 11:43:01 LIQ03 postfix/error[5493]: 1EB7C1611FE: to=<liq03@[email protected]>, orig_to=<liq03>, relay=none, delay=0.05, delays=0.03/0.01/0/0.01, dsn=5.0.0, status=bounced (liq03.com)
Dec 10 11:43:01 LIQ03 postfix/cleanup[5491]: 28D271630F8: message-id=<[email protected]>
Dec 10 11:43:01 LIQ03 postfix/qmgr[5392]: 28D271630F8: from=<>, size=2561, nrcpt=1 (queue active)
Dec 10 11:43:01 LIQ03 postfix/bounce[5494]: 1EB7C1611FE: sender non-delivery notification: 28D271630F8
Dec 10 11:43:01 LIQ03 postfix/qmgr[5392]: 1EB7C1611FE: removed
Dec 10 11:43:01 LIQ03 postfix/error[5493]: 28D271630F8: to=<liq03@[email protected]>, relay=none, delay=0.01, delays=0.01/0/0/0.01, dsn=5.0.0, status=bounced (liq03.com)
Dec 10 11:43:01 LIQ03 postfix/qmgr[5392]: 28D271630F8: removed
    
por escombralls 10.12.2016 / 11:35

1 resposta

3

O problema que você enfrenta não é o MTA ausente, que apenas desativa o cron para enviar e-mails.

A razão pela qual o seu cronjob não é executado é que ele é executado em um ambiente diferente da sua sessão X e, portanto, o cronjob não tem acesso à tela.
O que você precisa dentro do cronjob são as informações sobre qual exibição xrandr deve usar e a autoridade para usar a exibição especificada. Normalmente, você pode usar o seguinte no seu crontab para fazê-lo funcionar.

56 * * * * XAUTHORITY="/var/run/lightdm/root/:0" /usr/bin/xrandr --display :0 --output HDMI1 --brightness 0.1 # JOB_ID_7

Talvez seja necessário alterar o conteúdo da variável XAUTHORITY , dependendo do gerenciador de exibição e da configuração.
Talvez a maneira mais fácil de encontrar isso seja executar o seguinte comando e procurar a string após -auth .

user@host:~# ps aux | grep Xorg
root      2604  1.4  3.0 265236 44960 tty7     Ssl+ 12:48   0:00 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
    
por Thomas 10.12.2016 / 12:51