Cosa posso fare per eseguire automaticamente uno script dopo aver montato / plug-in o smontato / scollegato un dispositivo USB?
Cosa posso fare per eseguire automaticamente uno script dopo aver montato / plug-in o smontato / scollegato un dispositivo USB?
Risposte:
Grazie a MinimusHeximus e ai rispettivi collaboratori del thread che ha citato nel suo commento alla mia domanda simile, penso di poterti offrire la seguente risposta.
Avrai bisogno di 5 (cinque) file per un dispositivo USB come segue, semplicemente compilando i rispettivi valori <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>
Gli appunti:
<yourvendorid>
e <yourproductid>
immettendo il comando lsusb
in Terminale - quando è collegato il dispositivo USB - che elencherà tutti i dispositivi USB attualmente disponibili, ad esempio Bus 003 Device 002: ID 8087:07da Intel Corp.
, dove 8087 è VendorID e 07da è ProductID .<yourdevice>
può essere qualsiasi nome arbitrario che puoi scegliere per il tuo dispositivo USB, ad esempio, ho scelto di usare il nome generico " tastiera " durante la creazione di tali file per la mia tastiera USB che richiedeva l'applicazione di un layout di tastiera diverso ogni volta che è collegato.ACTION=="remove"
riga nel file delle regole di udev, e quindi i 2 (due) " out
" file associati, quando non è necessario eseguire alcuna operazione (ad esempio annullare una modifica apportata quando il dispositivo è collegato) dopo aver scollegato il dispositivo.Il file manager SpaceFM lo consente. Vedere Impostazioni di esecuzione automatica , ad esempio Esecuzione automatica | Al montaggio o Auto Run | Su Smonta .