Как скрипт может определить время простоя пользователя?

Я хочу проверить внутри скрипта bash, как долго пользователь X-сеанса простаивал.

Пользователь сам не должен использовать bash, а просто X. Если пользователь просто переместите мышь, например, хороший ответ будет «бездействовать на 0 секунд». Если он не коснулся компьютера через 5 минут, хороший ответ был бы «бездействующим на 300 секунд»

. Причина, по которой немедленно не использовать xautolock, - это реализовать какое-то сложное поведение. Например, если пользователь простаивает в течение 10 минут, попробуйте приостановить, если он простаивает более 5 минут, отключается (я знаю, что это звучит странно, но приостановление не всегда работает здесь ...)

1
задан 8 December 2015 в 21:03

1 ответ

Ответ отсюда:

В bash

w | tr -s " " | cut -d" " -f1,5 | tail -n+3

дает вам пару имени пользователя / idletime для каждой оболочки. Таким образом, вы можете получить простую информацию через команду w

2
ответ дан 25 May 2018 в 05:27
  • 1
    как это рассчитывает взаимодействия с X, которые не проходят через терминал? Например, скажем, движение мыши внутри firefox. Если пользователь перемещает мышь, я хотел бы получить ответ «без простоя» или «простоя в течение 0 секунд», – josinalvo 17 October 2012 в 22:06
  • 2
    @josinalvo w просто дает вам время простоя в этом конкретном терминале, я думаю. – Dan 17 October 2012 в 22:16
  • 3
    Это простое время - это время работы, время работы процесса (столбец WHAT вывода w). Поэтому он не дает представления о том, как долго пользователь простаивает в своей X-сессии. – rosch 17 October 2012 в 22:55

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

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