Обратите внимание на комментарий, uptime -s
появился сравнительно недавно (появляется в специфичном для Linux коде в конце 2012 г. ).
Немного более переносимым могло бы быть использование вывода last
, в котором перечислены временные метки загрузки системы, например
tom pts/0 michener.jexium- Wed Nov 18 17:00 still logged in
reboot system boot 3.2.0-4-amd64 Wed Nov 18 16:47 - 20:36 (03:49)
tom pts/0 michener.jexium- Wed Nov 18 04:12 - down (01:21)
reboot system boot 3.2.0-4-amd64 Wed Nov 18 04:04 - 05:33 (01:29)
tom pts/0 michener.jexium- Tue Nov 17 17:03 - down (04:24)
и (с помощью grep или awk) получение отметки времени самой последней перезагрузки ot "и используя , что в качестве аргумента для коснитесь
, например,
LAST=$(last | grep -E '^reboot ' | sed -e 's/^.\{39\}//' -e 's/\(.\{16\}\).*/\1/' | head -n 1)
Это позволит вам использовать параметр -newer
в find
и работать с перезагрузкой в долях дня:
FILE=/tmp/foo
touch -d "$LAST" $FILE
find $MY_TMPDIR ! -newer $FILE -exec echo rm -rf {} \;
Слабая часть этого, из конечно, знает формат последнего
вывода (но нет стандарта для , что ).
У меня была такая же проблема, и я обратился за помощью к разработчику xscreensaver. Он ответил, предложив мне попробовать вести подробный журнал.
$ killall xscreensaver
$ /usr/bin/xscreensaver -verbose -log xscreensaver.log
Затем я устанавливаю заставку на пустую через 1 минуту и блокирую ее через 0 минут (сразу на пустой ).
Просмотр журналов в другом терминале с помощью команды tail -f xscreensaver.log
позволил мне просматривать журналы в режиме реального времени.
Я обнаружил следующую ошибку:
xscreensaver: 09:13:46: WARNING: RANDR and Xinerama report different
xscreensaver: 09:13:46: screen layouts! Believing RANDR.
Это привело меня к тестированию и выводу, что проблема возникает только тогда, когда экраны перекрываются. Проблема еще не устранена, но для меня обходным путем было убедиться, что экраны не перекрываются.