xprintidle não funciona no cronjob. Por quê?

6

Eu tenho o lxle (Lubuntu) 12.04 instalado e passei muito tempo procurando uma solução de trabalho para fazer o desligamento do PC após algum período de estado inativo.

Depois de verificar muitos programas que não funcionaram, decidi gastar muito tempo com a solução de shell script executada cronjob

Estou preso a 2 problemas aqui.

  1. xprintidle não fornece nenhum resultado (string vazia) quando é executado por cronjob - não importa em arquivo crontab ou arquivo de shell nesses ambientes ele apenas fornece string vazia em vez de number de milissegundos de inatividade.

  2. Em segundo lugar, não parece simples para mim executar o script do crontab para que o desligamento seja considerado uma raiz.

Você poderia me dar um link explicando esse tópico? Eu conheço apenas sudo como usuário, mas o script não deve pedir senha, mas apenas o sistema de desligamento.

    
por Michał 15.03.2014 / 10:18

1 resposta

3

Você precisa definir a variável de ambiente DISPLAY antes de chamá-la. Você pode tentar isso nos consoles virtuais (Ctrl-Alt-F1), pois eles não têm o conjunto de variáveis DISPLAY, eles agirão exatamente como o script cron ato.

DISPLAY=:0 xprintidle

ou

export DISPLAY=:0
xprintidle

ou deveria funcionar.

    
por Diaa Sami 02.02.2015 / 01:07

Tags