Fedora linux forum

Форум русской поддержки ОС Fedora linux

 

#1 2010-06-13 10:46:22

uscr
Member
Зарегистрирован: 2010-05-16
Сообщений: 112

Запуск скрипта при закрытии крышки

Наткнулся вот на такую статейку:http://welinux.ru/post/3394/

Встал вопрос о адаптации способа для fedora.
Это возможно?

ACPI демона в федоре по умолчанию нет, на сколько я понял.

Код:

yum install acpid acpitools

Что в федоре является аналогом rc.conf, иными словами — куда прописать загрузку демона?
В /etc/acpi  есть папки action и events. В actions, как я понял, лежат скрипты, которые выполняются по событию. В events лежат конфиги описывающие наступление события. Как правильно оформлять событие в events?
Запись

Код:

event=button/power.*
action=/etc/acpi/actions/power.sh

Ясности не прибавила. Каталог button есть /proc/acpi, но power в каталоге /proc/acpi/button/ сам является каталогом...

Отредактированно uscr (2010-06-13 11:20:51)

Неактивен

 

#2 2010-06-13 12:39:52

fsu
Member
Зарегистрирован: 2010-03-16
Сообщений: 53

Re: Запуск скрипта при закрытии крышки

uscr написал:

Наткнулся вот на такую статейку:http://welinux.ru/post/3394/

хм... забавная идея, спасибо за наводку (хоть я и не определился еще с вопросом: а ОНО мне надо? smile)

uscr написал:

Встал вопрос о адаптации способа для fedora.
Это возможно?

Ну... если взято в руки "напильник" то... wink

uscr написал:

ACPI демона в федоре по умолчанию нет, на сколько я понял.

Код:

yum install acpid acpitools

Что в федоре является аналогом rc.conf, иными словами — куда прописать загрузку демона?

man chkconfig — не совсем аналог rc.conf, но как раз для запуска всяких демонов (собс-но, демон acpid запускается скриптом /etc/rc.d/init.d/acpid).

uscr написал:

В /etc/acpi  есть папки action и events. В actions, как я понял, лежат скрипты, которые выполняются по событию. В events лежат конфиги описывающие наступление события. Как правильно оформлять событие в events?
Запись

Код:

event=button/power.*
action=/etc/acpi/actions/power.sh

Ясности не прибавила. Каталог button есть /proc/acpi, но power в каталоге /proc/acpi/button/ сам является каталогом...

Ковырять глубже придется начиная с man acpid... hmm
Я глубже не полез, поскольку для меня эта задачка не особо актуальна на данный момент cool

Неактивен

 

#3 2010-06-13 19:37:12

uscr
Member
Зарегистрирован: 2010-05-16
Сообщений: 112

Re: Запуск скрипта при закрытии крышки

Спасибо вам за уделённое время.

fsu написал:

man acpid

Я вбил это в гугл (не люблю читать маны в консоли) и... вот — http://www.thinkwiki.org/wiki/How_to_configure_acpid

Да, всё действительно ТАК просто.
Для торопливых приведу краткое руководство к действию:
в каталоге /etc/acpi/event создаём файл с произвольным именем и следующим содержимым:

Код:

event=button/lid.*
action=/etc/acpi/actions/sleep.sh

Здесь после "action=" указываем путь к скрипту который будет выполнен по событию (в данном случае при закрытии крышки ноутбука)
Скрип /etc/acpi/actions/sleep.sh я сделал таким:

Код:

#!/bin/sh
if [ -z " cat /proc/acpi/ac_adapter/AC/state|grep 'off' " ];then
hibernate
fi

Он отправляет ноутбук спать если он не подключён к сети.

Как и предупреждал автор статьи, скрип таки выполняется дважды.
Это я выяснил добавлением в начало скрипта строчки

Код:

echo "lid" >> /var/log/lid.conf

Подозреваю, что он реагирует не на закрытие крышки, а на изменение состояния крышки. таким образом, он выполняется при закрытии, а потом при открытии. Такие дела.

P.S.
А статья про acpi весьма интересна. Советую к прочтению и обдумыванию. У меня родилось множество идей после ознакомления.

Отредактированно uscr (2010-06-13 20:42:48)

Неактивен