Ich möchte ein Skript ausführen, wenn ich ein Gerät an meinen Linux-Computer anschließe. Führen Sie beispielsweise xinput
eine 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 inotify
und 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 trigger
ein Gerät ausgeführt oder angeschlossen, um die neue Regel anzuwenden?