Узнать время простоя системы без привязки к "иксам".

Модератор: Модераторы разделов

Ответить
uscr
Сообщения: 152
ОС: Fedora

Узнать время простоя системы без привязки к "иксам".

Сообщение uscr »

Здравствуйте. Нужно засекать время, за которое пользователь не передвигал курсор мыши, не вводил ничего с клавиатуры. При этом крайне желательно обойтись без привязки к X серверу, а уж тем более к граф. оболочке.

Полученное значение буду использовать в python скрипте. Разумеется, жду решений на любом языке (это может быть просто программа, которая будет "выплёвывать" значение в stout).
Спасибо сказали:
Аватара пользователя
Nazyvaemykh
Сообщения: 438
Статус: Подопытный участник

Re: Узнать время простоя системы без привязки к "иксам".

Сообщение Nazyvaemykh »

Комментарий из кода 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.


¡ Страсть к разрушению есть творческая страсть!
Спасибо сказали:
uscr
Сообщения: 152
ОС: Fedora

Re: Узнать время простоя системы без привязки к "иксам".

Сообщение uscr »

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: Узнать время простоя системы без привязки к "иксам".

Сообщение Nazyvaemykh »

Я никогда, честно говоря, с этим вопросом прямо не сталкивался… В псто выше приведены несколько расширений протокола X11, решите уж сами, какие стоит использовался. Я бы ориентировался на программы-скринсейверы, их исходный код. Или, например, библиотека libXScrnSaver (в Arch Linux пакет называется libxss). Это для иксов.

Время простоя вне иксов — в многопользовательской, многозадачной системе это ИМХО что-то эфемерное. Ну, залогиненных в систему можно определить командой who, на какиъ терминалах. Потом, наверное, нужно получать информацию об этих терминалах, но это я советовать не могу, не умею я этого.
¡ Страсть к разрушению есть творческая страсть!
Спасибо сказали:
Lan4
Сообщения: 339
Статус: hikki
ОС: Arch

Re: Узнать время простоя системы без привязки к "иксам".

Сообщение Lan4 »

Нашел подобное обсуждение на лоре, посмотрите, мб вам подойдет: http://linux.org.ru/forum/development/3064919
Спасибо сказали:
Аватара пользователя
Nazyvaemykh
Сообщения: 438
Статус: Подопытный участник

Re: Узнать время простоя системы без привязки к "иксам".

Сообщение Nazyvaemykh »

Хм. Если я переключусь на вирутальную консоль и, не залогиниваясь, начну бить по случайным клавишам. Это активность пользователя или нет?
¡ Страсть к разрушению есть творческая страсть!
Спасибо сказали:
Lan4
Сообщения: 339
Статус: hikki
ОС: Arch

Re: Узнать время простоя системы без привязки к "иксам".

Сообщение Lan4 »

Nazyvaemykh писал(а):
15.03.2011 17:02
Хм. Если я переключусь на вирутальную консоль и, не залогиниваясь, начну бить по случайным клавишам. Это активность пользователя или нет?

Думаю да. Во всяком случае решил проверить (не знаю зачем =) ): делаю "cat /dev/tty1" (на tty1 не залогинен) - "битье по случайным клавишам" отображается. Думаю это можно считать активностью)
Спасибо сказали:
Аватара пользователя
Nazyvaemykh
Сообщения: 438
Статус: Подопытный участник

Re: Узнать время простоя системы без привязки к "иксам".

Сообщение Nazyvaemykh »

Lan4, ну, тут без объяснений топикстартера ничего не поймешь, только вряд ли можно назвать «пользователем», существо, которое не залогинилось в системе.
¡ Страсть к разрушению есть творческая страсть!
Спасибо сказали:
Lan4
Сообщения: 339
Статус: hikki
ОС: Arch

Re: Узнать время простоя системы без привязки к "иксам".

Сообщение Lan4 »

Согласен с вами. Все-таки "пользователь" как человек и "пользователь" как залогиненый пользователь немного разные вещи. И их активность по разному надо разбирать.
Спасибо сказали:
Аватара пользователя
Nazyvaemykh
Сообщения: 438
Статус: Подопытный участник

Re: Узнать время простоя системы без привязки к "иксам".

Сообщение Nazyvaemykh »

Кем считать пользователей, работающих совсем удаленно, например, по ssh?
¡ Страсть к разрушению есть творческая страсть!
Спасибо сказали:
Lan4
Сообщения: 339
Статус: hikki
ОС: Arch

Re: Узнать время простоя системы без привязки к "иксам".

Сообщение Lan4 »

Тоже хороший вариант. Хотя думаю, что автор все-таки предполагал локального пользователя.
Спасибо сказали:
Аватара пользователя
Nazyvaemykh
Сообщения: 438
Статус: Подопытный участник

Re: Узнать время простоя системы без привязки к "иксам".

Сообщение Nazyvaemykh »

Это того, что мы это такое обсуждаем, когда есть команда w?
¡ Страсть к разрушению есть творческая страсть!
Спасибо сказали:
uscr
Сообщения: 152
ОС: Fedora

Re: Узнать время простоя системы без привязки к "иксам".

Сообщение uscr »

Ага, ага. Обсуждение на ЛОРе понравилось, поковыряю. Спасибо. А пользователь мне нужен локальный. Меня просто достал нынешний менеджер питания в убунточке, я решил написать свою обёртку для "родных" программ управления питанием. Основные функции реализовал, а с уходом в спящий режим по таумауту - проблемы.
Спасибо сказали:
Ответить