Иногда сталкивался с ситуациями когда консоль/иксы зависают и не реагируют на клавиатуру, при том что комп очевидно жив.
Чаще случаются ситуации когда комп надо выключить, для того его надо разбудить, возможно ввести имя-пароль, затем набрать команду или нажать кнопку в иксах.
Вот накатал программку, менее универсальный, но более специализированный аналог acpid. Слушает /proc/acpi/event и реагирует на последовательности нажатий кнопки питания.
Последовательность - несколько нажатий, с интервалом менее секунды.
Например - N нажатий, программа переходит в "режим команд" - ожидает следующей последовательности - от 1 до 5 нажатий, и выполняет от 1 до 5 команд, которые указываются в качестве параметра. Если нажатий не было в течение T секунд - программа переходит в исходное состояние, и снова ждет ввода. Фактически, если не нажимать кнопку, программа висит в бесконечном select, и не просыпается до нажатия кнопки power.
Пример комадной строки
powerd -n 2 -t 10 "/usr/bin/killall icewm" "/sbin/init 0" "/sbin/init 6"
Последовательности нажатий на которые реагирует программа
2 нажатия, пауза от 1 до 10 сек, 1 нажатие - убить оконный менеджер
2 нажатия, пауза от 1 до 10 сек, 2 нажатия - выключить комп
2 нажатия, пауза от 1 до 10 сек, 3 нажатия - перезагрузить комп
Остальные последовательности игнорируются.
Вполне возможно что подобное давно написано. Тем не менее - исходник в атта
http://garuda.newmail.ru/powerd.tgz
Ответ на:
комментарий
от andry_mine
Ответ на:
комментарий
от bakagaijin
Ответ на:
комментарий
от zhiltsov
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Настроить кнопки управления питанием (2003)
- Форум Управление питанием (2013)
- Форум Управление питанием debian? (2016)
- Форум Глючит управление питанием (2012)
- Форум Управление питанием hdd (2015)
- Форум Управление питанием монитора (2008)
- Форум ноутбук,управление питанием (2008)
- Форум Управление питанием ATX (1999)
- Галерея Велосипед для управления VCS (2009)
- Форум управление специальными кнопками (2023)