Ich möchte ein Skript ausführen, wenn ich ein Gerät an meinen Linux-Computer anschließe. Führen Sie beispielsweise xinputeine Maus oder ein Backup-Skript auf einem bestimmten Laufwerk aus.
Ich habe viele Artikel darüber gesehen, zuletzt hier und hier . Aber ich kann es einfach nicht zum Laufen bringen.
Hier einige einfache Beispiele, die versuchen, zumindest eine Antwort zu erhalten.
/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
Der Regelordner wird von überwacht inotifyund sollte sofort aktiv sein. Ich stelle meine Tastatur, Maus, Tablet, Memorystick und das USB-Laufwerk immer wieder auf den neuesten Stand, aber nichts. Keine Protokolldatei berührt.
Nun, was wäre der einfachste Weg, um wenigstens zu wissen, dass etwas funktioniert? Es ist einfacher, mit etwas zu arbeiten, das funktioniert, als mit etwas, das nicht funktioniert.
3.5.0-23-generic.
udevadm triggerein Gerät ausgeführt oder angeschlossen, um die neue Regel anzuwenden?