@Glutanimate: Diese Frage bezieht sich auf ein bestimmtes USB-Flash-Laufwerk, aber ich habe allgemein nach einem USB-Gerät gefragt
Radu Rădeanu
@Glutanimate: Lassen Sie sagen , dass die Antworten von dieser Frage hilfreich sind, sowieso nicht zu beantworten, wie automatisch ein Skript auszuführen , nachdem ich unplugged ein USB - Gerät.
Radu Rădeanu
1
"Nehmen wir an, die Antworten auf diese Frage sind hilfreich, beantworten jedoch nicht, wie ein Skript automatisch ausgeführt wird, nachdem ich ein USB-Gerät ausgesteckt habe." "entfernen", das wäre ein guter Anfang.
blujay
Antworten:
17
Dank MinimusHeximus und den jeweiligen Mitwirkenden an dem Thread, den er in seinem Kommentar zu meiner ähnlichen Frage erwähnt hat, kann ich Ihnen jetzt die folgende Antwort anbieten.
Sie benötigen 5 (fünf) Dateien für ein solches USB-Gerät, indem Sie einfach die entsprechenden Werte eingeben <fortheseparts>:
Sie können die Werte erfassen <yourvendorid>und <yourproductid>durch Eingabe des Befehls lsusbim Terminal - wenn Ihr USB-Gerät angeschlossen ist - alle derzeit verfügbaren USB-Geräte auflisten , z. B. Bus 003 Device 002: ID 8087:07da Intel Corp.wobei 8087 die VendorID und 07da die ProductID ist .
Und <yourdevice>kann ein beliebiger Name sein, den Sie für Ihr USB-Gerät auswählen. Ich habe beispielsweise den generischen Namen " keyboard " gewählt, wenn ich solche Dateien für meine USB-Tastatur erstellte, für die bei jedem Anschließen ein anderes Tastaturlayout erforderlich war.
In einigen Szenarien ist es möglicherweise nicht erforderlich, die ACTION=="remove"Zeile in der "" udev-Regeldatei und damit die zugehörigen 2 (zwei) " out" Dateien zu verwenden, wenn Sie nichts tun müssen (z. B. eine Änderung rückgängig machen, wenn das Gerät in Betrieb ist eingesteckt), nachdem das Gerät ausgesteckt wurde.
@nafg: Aus meiner Sicht sollte es keinen Unterschied machen, ob Sie alle diese in einer Zeile (mit Komma als Trennzeichen) in die udev-Regeldatei einfügen, aber ich sehe, dass Sie den udev-Regeln XAUTHORITY- und DISPLAY-Parameter hinzugefügt haben funktioniert möglicherweise für Sie oder einen anderen, in diesem Fall frage ich mich, ob sie in den beiden folgenden Skriptdateien nicht mehr benötigt werden.
Sadi
1
Ja, das ist der Punkt, Sie brauchen das Zwischenskript nicht mehr (außer vielleicht, um das eigentliche Skript in den Hintergrund zu stellen), da Sie mit udev die Umgebung einstellen können. Nach meinem Verständnis in den udev-Dokumenten ist jede Zeile eine eigenständige Regel. Zeilen in einer Datei werden nicht kombiniert.
Nafg
@nafg: Danke für deinen wertvollen Beitrag. Ich habe diese Umgebungen auf udev rule umgestellt und es hat auch bei mir funktioniert. Außerdem habe ich die Skripte nach / usr / local / bin verschoben, da Probleme aufgetreten sind, nachdem ich meinen Ordner / home auf eine separate Partition verschoben habe (wahrscheinlich, weil er nicht zuvor angehängt wurde). Die Verwendung von Zeilenumbrüchen in udev-Regeln scheint zumindest in meinem System (Ubuntu 13.04 64-Bit) keine Probleme zu bereiten, und ich habe dies aus Gründen der Lesbarkeit vorgezogen.
Antworten:
Dank MinimusHeximus und den jeweiligen Mitwirkenden an dem Thread, den er in seinem Kommentar zu meiner ähnlichen Frage erwähnt hat, kann ich Ihnen jetzt die folgende Antwort anbieten.
Sie benötigen 5 (fünf) Dateien für ein solches USB-Gerät, indem Sie einfach die entsprechenden Werte eingeben
<fortheseparts>
:/etc/udev/rules.d/00-usb-<yourdevice>.rules
/usr/local/bin/usb-<yourdevice>-in_udev
/usr/local/bin/usb-<yourdevice>-in
/usr/local/bin/usb-<yourdevice>-out_udev
/usr/local/bin/usb-<yourdevice>-out
Anmerkungen:
<yourvendorid>
und<yourproductid>
durch Eingabe des Befehlslsusb
im Terminal - wenn Ihr USB-Gerät angeschlossen ist - alle derzeit verfügbaren USB-Geräte auflisten , z. B.Bus 003 Device 002: ID 8087:07da Intel Corp.
wobei 8087 die VendorID und 07da die ProductID ist .<yourdevice>
kann ein beliebiger Name sein, den Sie für Ihr USB-Gerät auswählen. Ich habe beispielsweise den generischen Namen " keyboard " gewählt, wenn ich solche Dateien für meine USB-Tastatur erstellte, für die bei jedem Anschließen ein anderes Tastaturlayout erforderlich war.ACTION=="remove"
Zeile in der "" udev-Regeldatei und damit die zugehörigen 2 (zwei) "out
" Dateien zu verwenden, wenn Sie nichts tun müssen (z. B. eine Änderung rückgängig machen, wenn das Gerät in Betrieb ist eingesteckt), nachdem das Gerät ausgesteckt wurde.quelle
Der Dateimanager SpaceFM erlaubt das. Siehe Auto-Run- Einstellungen, zum Beispiel Auto-Run | On Mount oder Auto Run | Beim Aushängen .
quelle