Как, вероятно, тысячи из нас я хотел иметь специальное выполнение сценария, когда "эта" палка usb вставляется. Но также и я хочу иметь что-то выполнение, когда оно удалило - это - боль в заднице. Я действительно читал о проблемах с корректным удалением соответствия здесь: https://www.linuxquestions.org/questions/linux-desktop-74/udev-not-doing-remove-rules-841733/
Так. Мои правила:
ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{model}=="USB2FlashStorage", ATTRS{vendor}=="Ut165 ", ENV{UDISKS_IGNORE}="1", ENV{PX2_KEY}="1", SYMLINK+="key%n", OWNER="root", RUN+="/root/bin/key.sh add"
ACTION=="remove", SUBSYSTEM=="bsg", ENV{PX2_KEY}=="1", RUN+="/root/bin/key.sh del"
Добавьте, что каждый работает отлично, но удалите, не делает вообще. Я пытался использовать с и w/o SUBSYSTEM (usb, block, scsi)
, с или без корректного ENV{ID_MODEL}, ID_VENDOR, ID_SERIAL, ID_F..._POOP
и ничто. На текущем этапе Вы видите, что я создаю собственную символьную ссылку (key%n) и попробованное использование это также с
KERNEL=="key*"
никакая удача! Вы, вероятно, заметили, что также я устанавливаю свою собственную переменную (PX2_KEY) и пытаюсь соответствовать этим и... никакой удачей также... Что я делаю неправильно... Возможно, я пропускаю что-то на порядке правил, но действительно пытался делать свой файл правила локальным для 10, а также локальный для 99 - не работал. Добавьте работы, удалите нет. bsg
установлен, потому что это - первая подсистема, где я вижу, что udev показывает существование PX2_KEY
в
udevadm monitor --udev --environment
то, когда удаляют, сделано. Мысль, возможно, я должен поймать первое вхождение. Но попробованный отличающийся также.
Это работает.
я не слишком умен. Проблема была то, что в сценарии я хотел работать, я работаю zenity
с --display=:0
как корень, пытающийся записать сообщение для другого пользователя.
Сценарий, законченный перед любой частью "входа"...