Как автоматически запустить программу, когда определенное устройство включается?

У меня есть самодельное устройство, которое соединяется через USB-порт, и я сделал программу C++ для сбора данных от того устройства. Я изменил /etc/udev/rules.d/50-ttyusb.rules так, чтобы устройство имело полномочия чтения-записи при включении. Теперь я также хотел бы это когда я плагин устройство моя программа (названный SQM_ver2) автоматически работал бы. Как я могу сделать это?

Сокет, присвоенный устройству, ttyACM0. Использование Ubuntu 14.04.

lsusb вывод для устройства:

Bus 003 Device 005: ID ffff:0005

Править:

Я изменил свой файл правил, как предложено @steeldriver, но он не работал. Обратите внимание, что моя программа использует Окно терминала для вывода данных. Я всегда выполнял его от Терминала, но теперь это должно открыть Terminal отдельно. Здесь я добавляю также соответствующие строки в /var/log/syslog файл, когда устройство включается - в:

Jun  1 22:21:04 user-Lenovo-G50-45 kernel: [267790.078011] usb 3-1.4: new full-speed USB device number 8 using ehci-pci
Jun  1 22:21:04 user-Lenovo-G50-45 kernel: [267790.187324] usb 3-1.4: New USB device found, idVendor=ffff, idProduct=0005
Jun  1 22:21:04 user-Lenovo-G50-45 kernel: [267790.187339] usb 3-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jun  1 22:21:04 user-Lenovo-G50-45 kernel: [267790.187347] usb 3-1.4: Product: USBSerial
Jun  1 22:21:04 user-Lenovo-G50-45 kernel: [267790.187353] usb 3-1.4: Manufacturer: LPCUSB
Jun  1 22:21:04 user-Lenovo-G50-45 kernel: [267790.187359] usb 3-1.4: SerialNumber: DEADC0DE
Jun  1 22:21:04 user-Lenovo-G50-45 kernel: [267790.188792] cdc_acm 3-1.4:1.0: ttyACM0: USB ACM device
Jun  1 22:21:04 user-Lenovo-G50-45 mtp-probe: checking bus 3, device 8: "/sys/devices/pci0000:00/0000:00:12.0/usb3/3-1/3-1.4"
Jun  1 22:21:04 user-Lenovo-G50-45 mtp-probe: bus: 3, device: 8 was not an MTP device

Редактирование 2:

Вот то, как мой файл правил смотрит теперь:

KERNEL=="ttyUSB[0-9]*",MODE="0666"
KERNEL=="ttyACM[0-9]*",MODE="0666",RUN+="/usr/bin/gnome-terminal"

Существует ли ошибка? Вместо моей программы SQM_ver2 Я попытался только открыть Terminal, но он не работает. Полномочия установлены правильно, таким образом, 50-ttyusb.rules файл работает, по крайней мере, на ту часть. Кроме того, взгляд на мой 50-ttyusb.rules файл я думаю, что теперь все устройства, которые я подключаю и им присваивают ttyUSB или ttyACM сокет будет иметь полномочия чтения-записи (и программа SQM_ver2 запустился бы). Я должен, вероятно, задать другой вопрос о том, как установить полномочия только для этого устройства (вероятно, это должно выдержать сравнение idVendor и idProduct?).

3
задан 2 June 2016 в 21:50

0 ответов

Другие вопросы по тегам:

Похожие вопросы: