Узнать время простоя системы без привязки к "иксам".
Модератор: Модераторы разделов
Узнать время простоя системы без привязки к "иксам".
Здравствуйте. Нужно засекать время, за которое пользователь не передвигал курсор мыши, не вводил ничего с клавиатуры. При этом крайне желательно обойтись без привязки к X серверу, а уж тем более к граф. оболочке.
Полученное значение буду использовать в python скрипте. Разумеется, жду решений на любом языке (это может быть просто программа, которая будет "выплёвывать" значение в stout).
Полученное значение буду использовать в python скрипте. Разумеется, жду решений на любом языке (это может быть просто программа, которая будет "выплёвывать" значение в stout).
- Nazyvaemykh
- Сообщения: 438
- Статус: Подопытный участник
Re: Узнать время простоя системы без привязки к "иксам".
Комментарий из кода xscreensaver (в иксах можно использовать и эту программу):
methods of detecting idleness:
explicitly informed by SGI SCREEN_SAVER server event;
explicitly informed by MIT-SCREEN-SAVER server event;
poll server idle time with XIDLE extension;
select events on all windows, and note absence of recent events;
note that /proc/interrupts has not changed in a while;
activated by clientmessage.
methods of detecting idleness:
explicitly informed by SGI SCREEN_SAVER server event;
explicitly informed by MIT-SCREEN-SAVER server event;
poll server idle time with XIDLE extension;
select events on all windows, and note absence of recent events;
note that /proc/interrupts has not changed in a while;
activated by clientmessage.
¡ Страсть к разрушению есть творческая страсть!
Re: Узнать время простоя системы без привязки к "иксам".
Nazyvaemykh писал(а): ↑14.03.2011 23:37Комментарий из кода xscreensaver (в иксах можно использовать и эту программу):
methods of detecting idleness:
explicitly informed by SGI SCREEN_SAVER server event;
explicitly informed by MIT-SCREEN-SAVER server event;
poll server idle time with XIDLE extension;
select events on all windows, and note absence of recent events;
note that /proc/interrupts has not changed in a while;
activated by clientmessage.
Извините, я понимаю, что написал в тему "программирование" и должен быть в теме, но...что это значит?
- Nazyvaemykh
- Сообщения: 438
- Статус: Подопытный участник
Re: Узнать время простоя системы без привязки к "иксам".
Я никогда, честно говоря, с этим вопросом прямо не сталкивался… В псто выше приведены несколько расширений протокола X11, решите уж сами, какие стоит использовался. Я бы ориентировался на программы-скринсейверы, их исходный код. Или, например, библиотека libXScrnSaver (в Arch Linux пакет называется libxss). Это для иксов.
Время простоя вне иксов — в многопользовательской, многозадачной системе это ИМХО что-то эфемерное. Ну, залогиненных в систему можно определить командой who, на какиъ терминалах. Потом, наверное, нужно получать информацию об этих терминалах, но это я советовать не могу, не умею я этого.
Время простоя вне иксов — в многопользовательской, многозадачной системе это ИМХО что-то эфемерное. Ну, залогиненных в систему можно определить командой who, на какиъ терминалах. Потом, наверное, нужно получать информацию об этих терминалах, но это я советовать не могу, не умею я этого.
¡ Страсть к разрушению есть творческая страсть!
Re: Узнать время простоя системы без привязки к "иксам".
Нашел подобное обсуждение на лоре, посмотрите, мб вам подойдет: http://linux.org.ru/forum/development/3064919
Blog: hikki-tech
- Nazyvaemykh
- Сообщения: 438
- Статус: Подопытный участник
Re: Узнать время простоя системы без привязки к "иксам".
Хм. Если я переключусь на вирутальную консоль и, не залогиниваясь, начну бить по случайным клавишам. Это активность пользователя или нет?
¡ Страсть к разрушению есть творческая страсть!
Re: Узнать время простоя системы без привязки к "иксам".
Nazyvaemykh писал(а): ↑15.03.2011 17:02Хм. Если я переключусь на вирутальную консоль и, не залогиниваясь, начну бить по случайным клавишам. Это активность пользователя или нет?
Думаю да. Во всяком случае решил проверить (не знаю зачем =) ): делаю "cat /dev/tty1" (на tty1 не залогинен) - "битье по случайным клавишам" отображается. Думаю это можно считать активностью)
Blog: hikki-tech
- Nazyvaemykh
- Сообщения: 438
- Статус: Подопытный участник
Re: Узнать время простоя системы без привязки к "иксам".
Lan4, ну, тут без объяснений топикстартера ничего не поймешь, только вряд ли можно назвать «пользователем», существо, которое не залогинилось в системе.
¡ Страсть к разрушению есть творческая страсть!
Re: Узнать время простоя системы без привязки к "иксам".
Согласен с вами. Все-таки "пользователь" как человек и "пользователь" как залогиненый пользователь немного разные вещи. И их активность по разному надо разбирать.
Blog: hikki-tech
- Nazyvaemykh
- Сообщения: 438
- Статус: Подопытный участник
Re: Узнать время простоя системы без привязки к "иксам".
Кем считать пользователей, работающих совсем удаленно, например, по ssh?
¡ Страсть к разрушению есть творческая страсть!
Re: Узнать время простоя системы без привязки к "иксам".
Тоже хороший вариант. Хотя думаю, что автор все-таки предполагал локального пользователя.
Blog: hikki-tech
- Nazyvaemykh
- Сообщения: 438
- Статус: Подопытный участник
Re: Узнать время простоя системы без привязки к "иксам".
Это того, что мы это такое обсуждаем, когда есть команда w?
¡ Страсть к разрушению есть творческая страсть!
Re: Узнать время простоя системы без привязки к "иксам".
Ага, ага. Обсуждение на ЛОРе понравилось, поковыряю. Спасибо. А пользователь мне нужен локальный. Меня просто достал нынешний менеджер питания в убунточке, я решил написать свою обёртку для "родных" программ управления питанием. Основные функции реализовал, а с уходом в спящий режим по таумауту - проблемы.