LINUX.ORG.RU

[acpid] Не отлавливает события


0

1

Для начала здравствуйте.

Проблема такая. Установлен acpid на нетбуке, для того что бы работали Fn+.. клавиши которые не опознает xev. При нажатии Fn+F7 acpi_listen видит и отображает событие как video/displayoff DOFF 00000089 00000000 Пишу правило для события в /etc/acpi/events/display-off с таким содержанием:

event=video/displayoff DOFF
action=/etc/acpi/display-off.sh

Создаю скрипт и делаю его исполняемым с таким содержанием:

#!/bin/bash
xset dpms force off

и не работает.

Если запустить из терминала sudo /usr/sbin/acpid -d -l 1 и нажать сочетание, то acpid пишет что нашел совпадение в правилах и вырубает экран. Хочется спросить WTF и как решить?

Забыл добавить что правило через тот же acpid только на закрытие крышки нормально отрабатывается. Еще при нажатии целевого сочетания клавиш в dmesg сыпется

keyboard: can't emulate rawmode for keycode 245

partyzan ★★★ ()
Ответ на: комментарий от partyzan

Ну блин, всякое бывает :) Поясни проблему подробней: я правильно понял, что при висящем в бэкграунде acpid (запущенном системными средствами, например, service в ubuntu) ничего не работает, а при запущенном руками — работает?

madgnu ★★★★★ ()
Ответ на: комментарий от madgnu

Да, если в сакуре запустить демон, то отлавливает событие нормально, а если запустить демон в обычном режиме через /etc/init.d/acpid start, то нет

partyzan ★★★ ()

-display или $DISPLAY для xset кто указывать будет?

ananas ★★★★★ ()
Ответ на: комментарий от madgnu

Вот полный http://pastebin.com/PgGmSMM5 Вобщем добавив дебаг в /etc/conf.d/acpid понял почему не работает. Оно не знает какой Display вырубать

acpid: action exited with status 0
acpid: rule from /etc/acpi/events/display-off matched
acpid: executing action "/etc/acpi/display-off.sh"
BEGIN HANDLER MESSAGES
xset:  unable to open display "0"
Как экспортировать в скрипт это?

Пробовал

export DISPLAY=:0.0
не помогает.

partyzan ★★★ ()
Ответ на: комментарий от partyzan

ну и че ты погрепал? текущую оболочку?

на момент старта acpid DISPLAY не установлен. так что его надо лобо установить в скрипте, вызывающем xset, либо указать его в аргументах

xset -display :0.0 dpms force off

ananas ★★★★★ ()
Ответ на: комментарий от partyzan

да, и еще при старте иксов сделай xhost +localhost

ananas ★★★★★ ()
Ответ на: комментарий от ananas

вобщем перезагрузился - acpid вообще перестал через инит скрипт запускаться, только из шела :) Пересобрал его, написал заново правило и скрипт

#!/bin/bash
sudo xset -display :0.0 dpms force off
и оно заработало.

Так и не понял что это было. Всем спасибо.

partyzan ★★★ ()
Ответ на: комментарий от partyzan

После прошествия некоторого времени оно опять отвалилось. Из консоли работает, в фоне нет. Пичаль.

partyzan ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.