Que puis-je faire pour exécuter automatiquement un script après avoir monté/plug-in ou démonté/débranché un périphérique USB?
Merci à MinimusHeximus et aux contributeurs respectifs du fil il a mentionné dans son commentaire à ma question similaire, je pense que je peux maintenant vous offrir la réponse suivante.
Vous aurez besoin de 5 (cinq) fichiers pour un tel périphérique USB, comme indiqué ci-dessous, en remplissant simplement les valeurs respectives <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>
Remarques:
<yourvendorid>
et <yourproductid>
en entrant la commande lsusb
dans Terminal - lorsque votre périphérique USB est branché - qui répertoriera tous vos périphériques USB actuellement disponibles, comme Bus 003 Device 002: ID 8087:07da Intel Corp.
, où 8087 est le VendorID et 07da est l'ID de produit .<yourdevice>
peut être n’importe quel nom arbitraire que vous pouvez choisir pour votre périphérique USB. Par exemple, j’ai choisi d’utiliser le nom générique " keyboard "lors de la création de tels fichiers pour mon clavier USB nécessitant l’application d’une disposition de clavier différente à chaque fois qu’il est branché.ACTION=="remove"
dans le fichier de règles udev, et donc les 2 (deux) fichiers "out
name__" associés, lorsque vous n’avez rien à faire (par exemple, inverser une modification apportée lorsque l’appareil est branché) une fois l’appareil branché.Le gestionnaire de fichiers SpaceFM le permet. Voir Paramètres d’exécution automatique , par exemple Exécution automatique | Sur montage ou Exécution automatique | Démontage .