Chcę wykonać skrypt po podłączeniu urządzenia do komputera z systemem Linux. Na przykład uruchom xinput
na myszy lub w kopii zapasowej na określonym dysku.
Widziałem wiele artykułów na ten temat, ostatnio tu i tutaj . Ale po prostu nie mogę go uruchomić.
Oto kilka prostych przykładów, które próbują uzyskać przynajmniej pewien rodzaj odpowiedzi.
/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 reguł jest obserwowany inotify
i powinien być natychmiast aktywny. Ciągle ponownie instaluję klawiaturę, mysz, tablet, pamięć i dysk USB, ale nic. Nie dotknięto pliku dziennika.
Jaki byłby najprostszy sposób, aby przynajmniej wiedzieć, że coś działa? Łatwiej jest pracować z czegoś, co działa, niż z czegoś, co nie działa.
3.5.0-23-generic
.
udevadm trigger
lub podłączyłeś urządzenie, aby zastosować nową regułę?