Когда часть аппаратных средств включается, udev платформа решает, что сделать с ним. Типичное действие должно создать узел устройства под /dev
, но можно выполнить любую команду оболочки.
Во-первых, необходимо выяснить, как определить устройство. Подключите клавиатуру и работайте udevadm info -a -n /dev/input/event9
где последним аргументом является путь к файлу устройств в /dev/
соответствие Вашему устройству. Можно опустить /dev/
префикс. Можно использовать syspath (путь под /sys
) вместо узла устройства называют путем замены -n …
-p class/input/event9
. Во всех случаях, замене input/event9
соответствующим путем для Вашего устройства. Это печатает различные характеристики Вашего устройства. Соберите один или несколько строк формы SETTING=="VALUE"
, достаточно определить Ваше устройство исключительно.
Создайте файл под /etc/udev/rules.d
названный vemv-keyboard.rules
или некоторые такой. Поместите строку в этот файл с настройками, которые будут согласованы и действие для выполнения. Заботьтесь для использования надлежащих операторов: это ==
чтобы свойства были подобраны, =
чтобы свойства были установлены, и +=
указывать дополнительные действия. Что-то как:
# Run a program when my wireless keyboard is connected
SUBSYSTEMS=="input", ATTRS{vendor}=="Yoyodene", ATTRS{model}=="Bluetooth keyboard 9000", RUN+="/path/to/script $root/$name"
Программа будет работать в следующий раз, когда Вы включаете устройство (добавляющий, что файл не имеет никакого эффекта на уже-подключенные-устройства). Вы проверяете, что Ваше правило имело бы желаемый эффект путем выполнения udevadm test class/input/event9
(где аргументом является syspath как выше). Если Вы хотите применить правило вручную, работать udevadm trigger --sysname=class/input/event9
.