У меня есть Thinkpad и я хотел бы использовать ThinkLight (белая вспышка над экраном, предназначенная для подсветки клавиатуры) для уведомлений о входящих сообщениях Jabber.
Это легко реализовать, так как нужно всего лишь перейти /sys/class/leds/tpacpi::thinklight/brightness
на 255. Я сделаю это с помощью простого сценария Bash, который позволит свету мигать три раза.
Но чтобы сделать это, мне нужно изменить права, чтобы не только root мог изменять этот файл.
И я не хочу sudo chmod o+w /sys/class/leds/tpacpi::thinklight/brightness
после каждой загрузки.
Я думаю, что лучшее решение используется udev
для этого. Тем не менее, я никогда не использовал udev
раньше, и меня смущают учебники, которые я нашел в Интернете.
Я попробовал это udev
правило:
KERNEL=="tpacpi::thinklight", MODE="0666"
также как и
KERNEL="thinklight", MODE="0666"
Но это не работает. Хотя я не получаю ошибки во время работыudevadm test /class/leds
Спасибо за любую помощь и хиты. Или, может быть, другие решения.
источник
Ответы:
Я использую два правила udev, чтобы предоставить членам группы
leds
доступ ко всем индикаторам:Обратите внимание, что
ACTION=="change"
правило необходимо для обработки динамически создаваемых атрибутов. Например, если триггер светодиода установлен на «таймер» (echo timer > trigger
), то дополнительные атрибутыdelay_on
иdelay_off
создаются.change
Действие задается так , что эти новые атрибуты их группы и права доступа установлены.Я заметил , что
change
событие генерируется каждый раз , когда светодиод выключен путем записи0
в/sys/class/leds/.../brightness
. По-видимому, это происходит из-за того, что очистка кода драйвера светодиода Linux запускается при установке яркости0
. Вот почему второе правило имеетENV{TRIGGER}!="none"
условие, чтобы предотвратить запуск правила каждый раз, когда светодиод выключен.источник
Я думаю, что у вас неправильная настройка «KERNEL». Из этого замечательного документа по написанию и отладке правил udev:
http://www.reactivated.net/writing_udev_rules.html#basic
Я думаю, что вам нужен KERNEL = яркость, и, возможно, SUBSYSTEM = светодиоды
Затем, если вашему дистрибутиву не хватает поддержки inotify. Убедитесь, что ваши изменения видят udevd:
источник