Я пытаюсь создать правило udev, чтобы разблокировать компьютер, когда я подключаю свой телефон по USB. Я не мог найти, что это правило выполняется, и поэтому я попробовал гораздо более простое правило. Это правило (анонимное):
KERNEL=="sd?1", ATTRS{idVendor}=="****", ATTRS{idProduct}=="****", SYMLINK+="phone", RUN+="touch /home/user/udev.touch"
Я знаю, что это правило выполняется, потому что создается ссылка phone -> sdc1
, но файл не создается. Есть ли параметр безопасности, который я должен включить, чтобы файл запускал внешнюю программу?
Вы должны использовать полный путь в ключе RUN, потому что (man udev)
Если абсолютный путь не указан, ожидается, что программа будет жить в / lib / udev, в противном случае абсолютный путь должен быть указано. Имя и аргументы программы разделяются пробелами. Одинарные кавычки могут использоваться для указания аргументов с пробелами.Тем не менее сам сценарий (bash) должен вести себя как обычно, то есть вам не нужно указывать путь.
Вы должны использовать полный путь в ключе RUN, потому что (man udev
)
Если абсолютный путь не указан, ожидается, что программа будет жить в / lib / udev, в противном случае абсолютная путь должен быть указан. Имя и аргументы программы разделяются пробелами. Одиночные кавычки могут использоваться для указания аргументов с пробелами.
blockquote>Тем не менее сам сценарий (bash) должен вести себя как обычно, то есть вам не нужно указывать путь.
У меня была такая же проблема с udev.
Это код, который я сделал:
ACTION=="add", KERNEL=="sda1", SUBSYSTEMS=="scsi", ATTRS{model}=="AVV207-0 ", SYMLINK+="Lacie", MODE="0666", RUN+="/bin/sh /usr/bin/udev/lacie-add.sh", OPTIONS="last_rule"
ACTION=="remove", KERNEL=="sda1", RUN+="/bin/sh /usr/bin/udev/lacie-del.sh", OPTIONS="last_rule"
Добавление параметра OPTIONS="last_rule" выполнило трюк.
У меня тоже была эта проблема, и я могу подтвердить, что с 12.04 вам нужно указать полный путь bash и полный скрипт bash для работы команды RUN.
У меня тоже была эта проблема, и я могу подтвердить, что с 12.04 вам нужно указать полный bash
путь и полный скрипт bash
для работы команды RUN.
У меня тоже была эта проблема, и я могу подтвердить, что с 12.04 вам нужно указать полный bash
путь и полный скрипт bash
для работы команды RUN.