Tentando obter sh para executar quando a câmera USB está conectada

1

Eu tentei isso: Como executar um shellscript quando eu plug-in um dispositivo USB e tenho a seguinte saída para" lsusb ":

Bus 002 Device 007: ID 046d:0825 Logitech, Inc. Webcam C270

e em /etc/udev/rules.d/camset.rules

ATTRS{idvendor}=="046d", ATTRS{idproduct}=="0825", RUN+="camset.sh"

e camset.sh está localizado no diretório raiz. Quando eu executo "sh camset.sh" ele funciona bem, então eu não acho que haja algum problema com isso. Obrigado pela ajuda

    
por Sam 08.03.2017 / 00:18

1 resposta

1

Na documentação do udev :

RUN
(…) If no absolute path is given, the program is expected to live in /usr/lib/udev, otherwise the absolute path must be specified.

O Udev não usa a variável de ambiente PATH . Você precisa especificar um caminho completo. De acordo com as convenções usuais de estrutura de diretório, isso deve ser /usr/local/sbin/camset.sh - /usr/local para arquivos gravados localmente, sbin para um diretório contendo executáveis que fazem sentido apenas para raiz. Não coloque arquivos no diretório raiz.

    
por 08.03.2017 / 03:00