Ниже приведен сценарий для вычисления времени простоя машины. Сценарий должен проверять время простоя xserver с интервалом в 1 минуту и записывать результат в местоположение через cronjob. Но это не работает, как я ожидал. Он не сообщает о простоях, даже если машина простаивает больше, чем назначенный временной интервал.
Предел времени в примере составляет 1 минуту.
Кто-нибудь может помочь?
#!/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
Выход i get
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
Удалось устранить проблему. Мне пришлось добавить export DISPLAY=:0 в начало скрипта, поскольку эта задача выполняется cronjob и вызывающим xserver.
Удалось устранить проблему. Мне пришлось добавить export DISPLAY=:0 в начало скрипта, поскольку эта задача выполняется cronjob и вызывающим xserver.