Я являюсь довольно отчаянным после нескольких попыток создания довольно простой резервной программы. После 6 часов следующего и пробующий все сообщения по той теме, я не знаю решения. Я просто хочу, чтобы сценарий Java запустился, как только я включаю Карту памяти.
sudoedit /etc/udev/rules.d/90-local.rules
В моих локальных правилах I в основном, просто хотите выполнить мою оболочку SUPERJAVA, я уже попробовал весь вид ATTRS / комбинации ATTR. Мое последнее состояние:
BUS=="usb", KERNEL=="sd*", ATTRS{serial}=="4C530009320619116345", ACTION=="add", SYMLINK+="kram", RUN+="/home/d/Desktop/DirSyncPro-1.51-Linux/SUPERJAVA.sh"
Оболочка, просто запускает простую Синхронизирующую программу, но работает сам по себе, если я регулярно запускаю ее в терминале.
#!/bin/bash java -jar dirsyncpro.jar
Однако в файле журнала, это не прилагает усилия для запущения программы, если я включаю USB.
tail -f /var/log/syslog
Только возвратить шаги: 1. lsusb
, который дает мне: entBus 002 Device 012: ID 0781:5572 SanDisk Corp.
2. udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/002/012)
, который дает мне: looking at device '/devices/pci0000:00/0000:00:1d.7/usb2/2-2': KERNEL=="2-2" SUBSYSTEM=="usb"
...ATTR{idVendor}=="0781"
...ATTR{serial}=="4C530009320619116345"
...ATTR{idProduct}=="5572"
...ATTR{product}=="Cruzer Switch"
...ATTRS{idVendor}=="1d6b"
...ATTRS{idProduct}=="0002"
...ATTRS{product}=="EHCI Host Controller"
...
У кого-либо есть другая идея, что я мог попробовать? Разве udev больше не совместим с Ubuntu 14.04?
Ваше правило udev не стреляет.
Замена:
BUS=="usb"
с SUBSYSTEM=="usb"
. KERNEL=="sd*"
с KERNEL=="2-2"
. Тройная проверка:
ATTRS{serial}=="4C530009320619116345"
. Подавляют (на мгновение) SYMLINK+="kram"
. Можно добавить его назад позже, когда Вы удовлетворены, что Ваше правило работает.
Ваше новое udev
правило должно быть:
SUBSYSTEM=="usb", KERNEL=="2-2", ATTRS{serial}=="4C530009320619116345", ACTION=="add", RUN+="/home/d/Desktop/DirSyncPro-1.51-Linux/SUPERJAVA.sh"
, Если это работает, попробуйте его без udev
тег KERNEL=="2-2"
, поскольку это может быть лишним, особенно если Вы успешно idetify Ваше устройство события с его порядковым номером.
udev
не для долгих процессов, проверьте man udev
. ищите привязку udev или просто окружите, наблюдайте за udev событием. Действительно синхронизируйте на уровне пользователя.
udevadm monitor -u
может помочь, Python имеют pyudev...