Я использую libusb
для связи с принтером. И я пишу правило для udev
, чтобы удалить принтер, когда он отключен. Я использую символическую ссылку, чтобы указать устройство. Но при удалении правило не срабатывает. Что мне делать?
ATTRS{manufacturer}=="Zebra Technologies", ACTION=="add", RUN+="/usr/local/bin/reinitZebra.sh", SYMLINK+="usblp%k"
SYMLINK=="usblp%k", ACTION=="remove", RUN+="/usr/local/bin/reinitZebra.sh"
%k
(переменные) не должны использоваться в условии соответствия правил.
Подстановки строк
При написании правил, которые потенциально могут обрабатывать несколько похожих устройств, очень полезны операторы udev для printf-подобных операций замены строк. Вы можете просто включать эти операторы в любые назначения , которые делает ваше правило, и udev будет оценивать их при выполнении.
Источник: Написание правил udev . Автор Daniel Drake (dsd)
. Используйте одно и то же условие add
(вы выбрали длинный путь). :
ATTRS{manufacturer}=="Zebra Technologies", ACTION=="remove", RUN+="/usr/local/bin/reinitZebra.sh"