¿Hay alguna forma de ejecutar un script cada vez que inserto un módem USB?

¿Hay alguna forma de ejecutar un script cada vez que inserto un módem USB?

Me gustaría que se ejecutara un script de shell cada vez que inserto un módem USB.

¿Cómo haría esto?

Respuesta1

Puede lograr esto con algunas reglas de udev, como sugirió @Rinzwind.

Primero, guarde su secuencia de comandos en algún lugar al que puedan acceder otros usuarios. Por ejemplo, podrías guardarlo como /usr/local/bin/script.sh.

Ahora, haga que otros puedan acceder al script.

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

Ahora, conecte su módem USB y luego ejecute lsusb. A continuación se muestra un resultado de ejemplo:

$ 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

Busque la línea con el nombre de su módem al final. Ahora, busque la parte cerca del medio en el formato ID XXXX:####. Las porciones XXXXy ####serán, lasID del proveedoryID del dispositivorespectivamente.

En este ejemplo, la tercera línea, que dice … ID 0fcf:1008 Dynastream …, el ID del proveedor es 0fcfy el ID del dispositivo es 1008. Su dispositivo tendrá diferentes valores para estas ID.

Ahora usaremos estos ID para crear una regla para udev.

Ahora, crea una regla para este dispositivo con udev.

Hacer un archivo de reglas con

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

Agregue la siguiente línea:

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

Reemplazar XXXXcon elidentificación del proveedorde antes y reemplácelo ####con elID del Productode antes.

Ahora, fuerce a udev a recargar sus reglas (como alternativa, puede omitir este paso y reiniciar)

udevadm control --reload-rules
sudo service udev restart

¡Y tu estas listo!

Fuentes:Pregunta similar sobre SU sobre las reglas de udev,Creando reglas udev

información relacionada