Gerenciado para corrigir o problema.Eu tive que adicionar export DISPLAY=:0
no topo do script como esta tarefa sendo executada pelo cronjob e seu xserver de chamada.
O seguinte é um script para calcular o tempo ocioso de uma máquina. O script deve verificar o tempo ocioso do xserver em um intervalo de tempo de 1 minuto e registrar o resultado em um local por meio do cronjob. Mas isso não está funcionando como eu esperava. Não está informando o tempo ocioso mesmo se a máquina ficar inativa por mais do que o limite de tempo ocioso atribuído.
O limite de tempo no exemplo é de 1 minuto. É apenas um tempo fictício para fazer essa pergunta e checar sem perder tempo.
Alguém pode ajudar?
#!/bin/bash
timeinmsec="$(xprintidle)"
timeinmin="$(($timeinmsec / 60000))"
if [[ "$timeinmin" -gt 1 ]]
then
echo "$timeinmin Minutes idle time reported" >> /home/user/log.txt;
echo $(date '+%X') >> /home/user/log.txt;
echo "$line" >> /home/user/log.txt;
else
echo "No idle time reported" >> /home/user/log.txt;
echo $(date '+%X') >> /home/user/log.txt;
echo "$line" >> /home/user/log.txt;
fi
Saída eu recebo
No idle time reported
05:24:01 PM
No idle time reported
05:25:01 PM
No idle time reported
05:26:01 PM
No idle time reported
05:27:01 PM
Gerenciado para corrigir o problema.Eu tive que adicionar export DISPLAY=:0
no topo do script como esta tarefa sendo executada pelo cronjob e seu xserver de chamada.