В настоящее время я работаю над проектом для запуска программы, написанной на C, когда USB-устройство подключено. Возможно ли это с помощью правил udev?
У меня есть программа для запуска Hello World.скрипт, когда я подключаю свое устройство.Однако он запускается несколько раз.
Текущий путь: /etc/udev/rules.d/98-local.rules
Текущее правило:
SUBSYSTEMS == "usb", ACTION == "add", RUN + = "/ usr / local / bin / USB.sh"
Путь скрипта: /usr/local/bin/USB.sh
Скрипт:
#!/bin/bash
echo 'Hello World!' >>"/home/<username>/Desktop/udev.out"
exit
Я пробовал что-то подобное, чтобы запустить исполняемый файл:
#!/bin/bash
usr/games/blackjack
exit
, набрав usr / games / blackjack, работает в терминалеоднако это не работает, когда USB-устройство вставлено.Тем не менее, я знаю, что скрипт запущен, потому что я объединил их в одном файле, и был создан hello world.
Я также попытался запустить исполняемый файл из своей учетной записи пользователя, как показано ниже:
SUBSYSTEMS=="usb", ACTION=='add", RUN+="/bin/su tyler -c '/usr/local/bin/USB.sh'"
Однако это тоже не работает.
Это проблема с привилегиями устройства или просто невозможно запустить исполняемый файл?
* примечание: я прочитал объяснения правила udev в http://reactivated.net/writing_udev_rules.html.