script para registrar o tempo ocioso do xserver

1

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
    
por Rooney 17.12.2017 / 14:35

1 resposta

0

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.

    
por Rooney 17.12.2017 / 17:35