Saya ingin menjalankan skrip ketika saya mencolokkan perangkat di mesin Linux saya. Misalnya, jalankan xinput
di mouse atau skrip cadangan pada drive tertentu.
Saya telah melihat banyak artikel tentang ini, paling baru di sini dan di sini . Tapi saya tidak bisa membuatnya bekerja.
Berikut adalah beberapa contoh sederhana yang mencoba untuk mendapatkan setidaknya semacam respons.
/etc/udev/rules.d/test.rules
#KERNEL=="sd*", ATTRS{vendor}=="*", ATTRS{model}=="*", ATTRS{serial}=="*", RUN+="/usr/local/bin/test.sh"
#KERNEL=="sd*", ACTION=="add", "SUBSYSTEM=="usb", ATTRS{model}=="My Book 1140 ", ATTRS{serial}=="0841752394756103457194857249", RUN+="/usr/local/bin/test.sh"
#ACTION=="add", "SUBSYSTEM=="usb", RUN+="/usr/local/bin/test.sh"
#KERNEL=="sd*", ACTION=={add}, RUN+="/usr/local/bin/test.sh"
KERNEL=="sd*", RUN+="/usr/local/bin/test.sh"
KERNEL=="*", RUN+="/usr/local/bin/test.sh"
/usr/local/bin/test.sh
#!/usr/bin/env bash
echo touched >> /var/log/test.log
if [ "${ACTION}" = "add" ] && [ -f "${DEVICE}" ]
then
echo ${DEVICE} >> /var/log/test.log
fi
Folder aturan diawasi oleh inotify
dan harus segera aktif. Saya terus memasang kembali keyboard, mouse, tablet, memorystick, dan usb-drive, tetapi tidak ada apa-apa. Tidak ada file log yang disentuh.
Sekarang, apa cara paling sederhana untuk setidaknya tahu ada sesuatu yang berhasil? Lebih mudah bekerja dari sesuatu yang berfungsi daripada dari sesuatu yang tidak.
3.5.0-23-generic
.
udevadm trigger
atau menyambungkan perangkat untuk menerapkan aturan baru?