Que puis-je faire pour exécuter automatiquement un script après avoir monté / plugin ou démonté / débranché un périphérique USB?
Que puis-je faire pour exécuter automatiquement un script après avoir monté / plugin ou démonté / débranché un périphérique USB?
Réponses:
Merci à MinimusHeximus et aux contributeurs respectifs au fil qu'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 suit, 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 le Terminal - lorsque votre périphérique USB est branché - qui liste 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 le ProductID .<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 " clavier " lors de la création de tels fichiers pour mon clavier USB qui nécessitait d'appliquer une disposition de clavier différente chaque fois qu'il est branché.ACTION=="remove"
ligne dans le fichier de règles udev, et donc les 2 (deux) " out
" fichiers associés , lorsque vous n'avez rien à faire (par exemple, annuler une modification effectuée lorsque le périphérique est branché) après avoir débranché l'appareil.Le gestionnaire de fichiers SpaceFM le permet. Voir Paramètres d' exécution automatique , par exemple Exécution automatique | Au montage ou en exécution automatique | Au démontage .