LINUX.ORG.RU

Не срабатывает правило udev

 


0

1
ACTION=="add", ATTR{bInterfaceClass}=="03", RUN+="/bin/sh -c 'echo 0 >/sys$DEVPATH/../authorized'"


Пробовал

ACTION=="add", ATTR{bInterfaceClass}=="03", RUN+="/bin/sh -c 'echo 0 >/test'"

тоже не срабатывает

UPD:

Выяснилось, что надо ATTRS, а не ATTR. Теперь после
ACTION=="add", ATTRS{bInterfaceClass}=="03", RUN+="/bin/sh -c 'echo $DEVPATH >/test'"
в файле /test содержится одна строка, отвечающая за мышь ноута. Это происходит после ребута после втыкания клавивтуры.
При
ACTION=="add", ATTRS{bInterfaceClass}=="03", RUN+="/bin/sh -c 'echo 0 >/sys$DEVPATH/../authorized'"

после ребута, после втыкания клавиатура работает!!!

★★★★★

Точно ″ATTR″, а не ″ATTRS″?

Куда добавляется правило? Попробуйте включить debug у udev и сделать подключение устойства, может что понятнее будет.

mky ★★★★★ ()

Правило в /etc/udev/rules.d? После добавления правила демон udev перезапускался? В слаке это делается по # /etc/rc.d/rc.udev reload.

yars068 ★★★★ ()

Я не понял сути вопроса. Что конкретно тебе надо-то?

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

Можно и без шелла, ATTRS{authorized}=0 в правило. Нужно только правильный путь до атрибута подставить.

yars068 ★★★★ ()

Может, после RUN+= должно быть что-то другое? Какое там событие должно быть для того чтобы устройство не подключалось как клавиатура?

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

это когда клава поменяется, придётся править конфиг. немного не то. хочется просто чтобы после старта системы распознавалось клавиатурой только то что подключено. а потом всё что подключается не должно распознаваться клавиатурой.

Что должно быть после RUN+= чтобы подключенное устройство не обрабатывалось? Пробовал просто пустой RUN+= — клава всё равно распрзнаётся

teod0r ★★★★★ ()
Последнее исправление: teod0r (всего исправлений: 1)
Ответ на: комментарий от r3lgar

Что конкретно тебе надо-то?

чтобы после старта системы распознавалось клавиатурой только то что подключено. а потом всё что подключается не должно распознаваться клавиатурой.

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

Ну, ты вначале от очепяток в коде избавься. Выше уже заметили, что у тебя intarface.

Потом, протестить у себя я не могу, так как у меня клава PS/2, и USB под рукой нет, кроме флэшек.

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

А если вручную

echo 0 >/sys...authorized

то клавиатура отключится?

И что содержится в этом $DEVPATH (сделайте вывод $DEVPATH в файл), может вам нужно просто ″/sys$DEVPATH/authorized″?

Возможно, нужно ″RUN:=″, чтобы туда больше ничего не добавлялось.

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