Posting tersebut menguraikan langkah-langkah untuk membuat aturan UDEV yang menjalankan skrip tertentu saat perangkat USB dipasang atau dilepas. Kita dapat menggunakan alat udevadm untuk melihat informasi dan properti saat perangkat dipasang atau dilepas. Menggunakan “subsystem-match=SUBSYSTEM ” Kami dapat menentukan jenis perangkat yang dipasang/dilepas.
1. Misalnya, dalam hal ini dengan SUBSYSTEM USB, Anda dapat menjalankan perintah di bawah ini:
# udevadm monitor --kernel --property --subsystem-match=usb monitor will print the received events for: KERNEL - the kernel uevent
2. Sekarang, pasang atau lepaskan perangkat USB, untuk memicu peristiwa UDEV.
3. Di bawah ini adalah contoh output, informasi dengan baris “<---" merupakan informasi penting yang perlu diperhatikan untuk menetapkan aturan.
# udevadm monitor --kernel --property --subsystem-match=usb
monitor will print the received events for:
KERNEL - the kernel uevent
KERNEL[6147.486744] add /devices/pci0000:00/0000:00:0c.0/usb1/1-2 (usb)
ACTION=add <--------------------------------------------------------- ACTION of the device
BUSNUM=001
DEVNAME=/dev/bus/usb/001/010
DEVNUM=010
DEVPATH=/devices/pci0000:00/0000:00:0c.0/usb1/1-2
DEVTYPE=usb_device
MAJOR=189
MINOR=9
PRODUCT=90c/1000/1100 <--------------------------------------------------------- ENV{PRODUCT}
SEQNUM=2192
SUBSYSTEM=usb <--------------------------------------------------------- " SUBSYSTEM=="type_of_device"
TYPE=0/0/0
KERNEL[6147.489141] add /devices/pci0000:00/0000:00:0c.0/usb1/1-2/1-2:1.0 (usb)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:0c.0/usb1/1-2/1-2:1.0
DEVTYPE=usb_interface
INTERFACE=8/6/80
MODALIAS=usb:v090Cp1000d1100dc00dsc00dp00ic08isc06ip50in00
PRODUCT=90c/1000/1100
SEQNUM=2193
SUBSYSTEM=usb
TYPE=0/0/0
KERNEL[6206.530205] remove /devices/pci0000:00/0000:00:0c.0/usb1/1-2/1-2:1.0 (usb)
ACTION=remove <--------------------------------------------------------- ACTION of the device
DEVPATH=/devices/pci0000:00/0000:00:0c.0/usb1/1-2/1-2:1.0
DEVTYPE=usb_interface
INTERFACE=8/6/80
MODALIAS=usb:v090Cp1000d1100dc00dsc00dp00ic08isc06ip50in00
PRODUCT=90c/1000/1100 <--------------------------------------------------------- ENV{PRODUCT}
SEQNUM=2216
SUBSYSTEM=usb <--------------------------------------------------------- " SUBSYSTEM=="type_of_device"
TYPE=0/0/0
KERNEL[6206.530551] remove /devices/pci0000:00/0000:00:0c.0/usb1/1-2 (usb)
ACTION=remove
BUSNUM=001
DEVNAME=/dev/bus/usb/001/010
DEVNUM=010
DEVPATH=/devices/pci0000:00/0000:00:0c.0/usb1/1-2
DEVTYPE=usb_device
MAJOR=189
MINOR=9
PRODUCT=90c/1000/1100
SEQNUM=2217
SUBSYSTEM=usb
TYPE=0/0/0 4. Menggunakan contoh di atas, Anda dapat membuat aturan untuk menjalankan skrip di /etc/udev/rules.d/ . Misalnya, Anda dapat membuat file baru "5-usbstick-font.rules ", dengan sintaks yang mirip dengan :
# cat /etc/udev/rules.d/5-usbstick-font.rules
ACTION=="add", SUBSYSTEM=="usb", ENV{PRODUCT}=="90c/1000/1100", RUN=="/bin/su godiego --command='/home/godiego/run-start.sh'"
ACTION=="remove", SUBSYSTEM=="usb", ENV{PRODUCT}=="90c/1000/1100", RUN+="/bin/su godiego --command='/home/godiego/run-stop.sh'" 5. Muat ulang aturan UDEV dengan menjalankan perintah di bawah ini.
# udevadm control --reload
Sekarang, jika Anda memasang atau melepas perangkat USB lagi, skrip yang disesuaikan (seperti run-start.sh atau run-stop.sh) akan dijalankan.