Existe uma maneira de executar um script sempre que insiro um modem USB?

Existe uma maneira de executar um script sempre que insiro um modem USB?

Gostaria que um script de shell fosse executado sempre que eu inserir um modem USB.

Como eu faria isso?

Responder1

Você pode fazer isso com algumas regras do udev, como sugerido pelo @Rinzwind.

Primeiro, salve seu script em algum lugar acessível a outros usuários. Por exemplo, você pode salvá-lo como /usr/local/bin/script.sh.

Agora, torne o script acessível a outras pessoas.

sudo chmod 555 /usr/local/bin/script.sh

Agora, conecte seu modem USB e execute o arquivo lsusb. Abaixo está um exemplo de saída:

$ lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 002: ID 0fcf:1008 Dynastream Innovations, Inc. Mini stick Suunto
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Encontre a linha com o nome do seu modem no final. Agora, encontre a parte próxima ao meio no formato ID XXXX:####. As porções XXXXe ####serão, oID do fornecedoreID de dispositivorespectivamente.

Neste exemplo, para a terceira linha, que diz … ID 0fcf:1008 Dynastream …, o ID do fornecedor é 0fcfe o ID do dispositivo é 1008. Seu dispositivo terá valores diferentes para esses IDs.

Agora usaremos esses IDs para criar uma regra para o udev.

Agora, crie uma regra para este dispositivo com o udev.

Faça um arquivo de regras com

sudo nano /etc/udev/rules.d/90-local.rules

Adicione a seguinte linha:

ACTION=="add", SUBSYSTEM=="usb", ATTRS{vendor}=="0xXXXX", ATTRS{device}=="0x####", RUN+="/usr/local/bin/script.sh"

Substitua XXXXpeloID do fornecedoranterior e substitua ####peloID do produtode antes.

Agora, force o udev a recarregar suas regras (alternativamente, você pode pular esta etapa e reiniciar)

udevadm control --reload-rules
sudo service udev restart

E pronto!

Fontes:Pergunta semelhante no SU sobre as regras do udev,Criando regras do udev

informação relacionada