Как определить, почему xprintidle поддерживает & ldquo; reset & rdquo; каждые 30 секунд

Я пытаюсь использовать xprintidle, чтобы получить простоя X (Unity), чтобы я мог отключить мой монитор через определенное время. (Я должен использовать xset dpms force off, потому что мой монитор не будет возвращаться при использовании обычных настроек питания / приостановки Ubuntu. Различные проблемы ...) Но xprintidle будет сбрасываться до 0 мс каждые 30 секунд независимо от того, пользуюсь ли я своей машиной или не. то есть, я перемещаю мышь / нажимаю / прокручиваю или печатаю на клавиатуре. Я подозреваю, что что-то заставляет Unity думать, что я не праздный, но я не могу понять, что это может быть.

Вот результат, показывающий проблему:

x-pc-linux% while [[ $(xprintidle) -lt 60000 ]]; do
                echo "$(date +%T) $(xprintidle)" && sleep 1;
            done
13:24:47 12
13:24:48 917
13:24:49 1924
13:24:50 2933
13:24:51 3940
13:24:52 4946
13:24:53 5955
13:24:54 6963
13:24:55 7969
13:24:56 8976
13:24:57 9982
13:24:58 10990
.
. # snip
.
13:25:08 21061
13:25:09 22069
13:25:10 23078
13:25:11 24085
13:25:12 342
13:25:13 1350
13:25:14 2358
13:25:15 3364
13:25:16 4372
13:25:17 5380
13:25:18 6388
13:25:19 7395
13:25:20 8402
13:25:21 9409
13:25:22 10417
.
. # snip
.
13:25:35 23511
13:25:36 24519
13:25:37 25525
13:25:38 26532
13:25:39 27540
13:25:40 28549
13:25:41 29556
13:25:42 551
13:25:43 1559
13:25:44 2566
^C% 

Обратите внимание, как время простоя сбрасывается на отметке 12 секунд и 42 секунды. (Хорошо, поэтому у меня есть окончательный ответ, но не на этот вопрос!)

Я также попытался запустить w (Что означает время простоя из команды «w»?), Но, к сожалению, он показывает «? xdm?» для времени простоя X.

x-pc-linux% w
 13:37:47 up 2 days,  3:28,  4 users,  load average: 1.76, 2.04, 2.07
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
***      :0       :0               Sat10   ?xdm?   4days  0.59s /sbin/upstart --user
***      pts/1    :0               Sat10    2:09m  0.39s  0.30s zsh
***      pts/4    :0               Sun14    0.00s  5:34   0.00s w
***      pts/12   192.168.1.144    11:20   20:11  13.41s 13.32s zsh

[Edit] Я также попытался получить время простоя непосредственно из расширения XScreenSaver, как это сделано Что означает время простоя от «w»? команда [? d4] в ответе Андрея Сидорова, но я получаю один и тот же таймер сбрасывания каждые 30 секунд.

Документация x.org упоминает только

Поле idle указывает номер миллисекунд, поскольку последний вход был получен от пользователя на любом из устройств ввода.

1
задан 23 May 2017 в 15:39

0 ответов

Другие вопросы по тегам:

Похожие вопросы: