Bir USB aygıtını taktıktan / taktıktan veya çıkardıktan / çıkarttıktan sonra otomatik olarak bir komut dosyasını çalıştırmak için ne yapabilirim?
Bir USB aygıtını taktıktan / taktıktan veya çıkardıktan / çıkarttıktan sonra otomatik olarak bir komut dosyasını çalıştırmak için ne yapabilirim?
Yanıtlar:
Sayesinde MinimusHeximus ve ilgili katkı iplik o benim benzer soruya yaptığı açıklamada belirtildiği, ben şimdi sana şu cevabı sunabilir düşünüyorum.
Aşağıdaki gibi bir USB cihazı için 5 (beş) dosyaya ihtiyacınız olacak, sadece ilgili değerleri dolduracaksınız <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>
Notlar:
<yourvendorid>
ve <yourproductid>
komutu girerek lsusb
Terminal'de - USB cihazı takıldığında - gibi tüm USB cihazları şu anda mevcut listeler hangi Bus 003 Device 002: ID 8087:07da Intel Corp.
nerede, 8087 olduğunu VendorID ve 07da olan ProductID .<yourdevice>
herhangi biri olabilir keyfi Eğer USB aygıt için tercih edebilir adı, örneğin, ben genel adı "kullanmayı tercih klavye prize takılı olduğunda farklı bir klavye düzeni uygulayarak gerekli benim USB klavye için bu tür dosyaları oluştururken".ACTION=="remove"
udev kurallar dosyasındaki satırı kullanmak gerekmeyebilir ve bu nedenle bir out
şey yapmanız gerekmediğinde ilişkili 2 (iki) " " dosyayı kullanmanız gerekmeyebilir (örn. cihazın fişini prizden çektikten sonra).Dosya yöneticisi SpaceFM o verir. Bkz. Otomatik Çalıştırma ayarları, örneğin Otomatik Çalıştır | Bağda veya Otomatik Çalıştır | Unmount'ta .