USB правило UDEV, кажется, много раз запускает скрипт

Я записал пользовательское правило udev, которое ищет определенное USB-устройство, которое будет включено и затем выполняет несколько команд gphoto. Посмотрите ниже:

ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="32a1", RUN+="/usr/bin/gphoto2 --set-config /main/settings/capturetarget=1 && /usr/bin/gphoto2 --capture-image --interval 5"

По существу это должно позволить, чтобы мой подключенный фотоаппарат установил метод устройства хранения данных на SD-карту camnera, затем делать фотографии каждые 5 секунд для бесконечного числа выстрелов (или пока я не отключаю камеру). Однако приложение, кажется, работает, несколько экземпляров себя (может быть что-то еще продолжение, хотя). После того, чтобы делать несколько фотографий (5 - 15) камера прекращает делать снимки.

Однако, когда я выполняю эти точные команды как локальный пользователь (т.е. user:pi на пи малины) функции камеры, как я ожидал бы.

Любая справка значительно ценится, поскольку я довольно плохо знаком с правилами udev и не понимаю, почему это не работает.

1
задан 10 October 2016 в 06:54

1 ответ

Одна проблема с Вашим рецептом состоит в том, что Вы используете синтаксис оболочки, а именно, структура command1 & & command2. Но udev не передает команду оболочке, таким образом окружает конструкции, такие как управление заданиями, и перенаправление IO не доступны.

можно использовать что-то как

ВЫПОЛНЕННЫЙ + = "sh-c 'некоторые команды здесь, но Вы не можете использовать двойные кавычки"

Так или иначе, я приземлился в этом вопросе, потому что у меня также есть проблема, что правила udev для моей клавиатуры запускают что-то как 6 раз, когда я переключаю KVM.

0
ответ дан 8 December 2019 в 08:31

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

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