Autorun una secuencia de comandos después de enchufar o desconectar un dispositivo USB

20

¿Qué puedo hacer para ejecutar automáticamente una secuencia de comandos después de montar / agregar o desconectar / desenchufar un dispositivo USB?

    
pregunta Radu Rădeanu 22.04.2013 - 15:15

2 respuestas

16

Gracias a MinimusHeximus y a los contribuyentes respectivos a thread que mencionó en su comentario a mi pregunta similar, creo Ahora puedo ofrecerle la siguiente respuesta.

Necesitará 5 (cinco) archivos para dicho dispositivo USB de la siguiente manera, simplemente completando los respectivos valores <fortheseparts> :

/etc/udev/rules.d/00-usb-<yourdevice>.rules

ACTION=="add", ATTRS{idVendor}=="<yourvendorid>", ATTRS{idProduct}=="<yourproductid>", ENV{XAUTHORITY}="/home/<user>/.Xauthority", ENV{DISPLAY}=":0", OWNER="<user>", RUN+="/usr/local/bin/usb-<yourdevice>-in_udev"    
ACTION=="remove", ATTRS{idVendor}=="<yourvendorid>", ATTRS{idProduct}=="<yourproductid>", ENV{XAUTHORITY}="/home/<user>/.Xauthority", ENV{DISPLAY}=":0", OWNER="<user>", RUN+="/usr/local/bin/usb-<yourdevice>-out_udev"

/usr/local/bin/usb-<yourdevice>-in_udev

#!/bin/bash
/usr/local/bin/usb-<yourdevice>-in &

/usr/local/bin/usb-<yourdevice>-in

#!/bin/bash
sleep 1
<yourbashscriptcode>

/usr/local/bin/usb-<yourdevice>-out_udev

#!/bin/bash
/usr/local/bin/usb-<yourdevice>-out &

/usr/local/bin/usb-<yourdevice>-out

#!/bin/bash
sleep 1
<yourbashscriptcode>

Notas:

  1. Puede capturar los valores <yourvendorid> y <yourproductid> ingresando el comando lsusb en Terminal - cuando su dispositivo USB está conectado - que listará todos sus dispositivos USB actualmente disponibles, como Bus 003 Device 002: ID 8087:07da Intel Corp. , donde 8087 es VendorID y 07da es el ProductID .
  2. Y <yourdevice> puede ser cualquier nombre arbitrario que pueda elegir para su dispositivo USB, por ejemplo, elegí usar el nombre genérico " teclado " al crear dicho archivos para mi teclado USB que requieren la aplicación de un diseño de teclado diferente cada vez que está conectado.
  3. En algunos casos, puede no ser necesario usar la línea ACTION=="remove" en el archivo de reglas udev, y por lo tanto los 2 (dos) " out " archivos asociados, cuando no necesita hacer nada ( por ejemplo, revertir un cambio realizado cuando el dispositivo está enchufado) después de que el dispositivo está enchufado.
respondido por el Sadi 20.09.2013 - 13:58
3

El administrador de archivos SpaceFM lo permite. Consulte la configuración de Ejecución automática , por ejemplo, Auto. Ejecutar | En el Monte o Auto Run | Al desmontar .

    
respondido por el jpfleury 15.05.2013 - 16:06

Lea otras preguntas en las etiquetas