Verwandte Frage: Benachrichtigung über USB-Verbindung / Trennung
Wenn das Gerät ein- oder ausgesteckt ist, erhalte ich sofort eine Benachrichtigung, das ist großartig. Aber um es (fast) perfekt zu machen, möchte ich auch den Dateinamen des Geräts /dev/ttyUSB0
und, noch besser, alle Symlinks dazu erhalten.
Aber ich kann nicht finden, wie ich diese Informationen von udev
oder von lsusb
oder irgendwie anders bekommen kann. Die einzige ID des Geräts, die ich habe, ist ein Gerätepfad wie /devices/pci0000:00/0000:00:1d.0/usb5/5-1
. Wie erhalte ich den Dateinamen des Geräts?
/dev/disk/
, die Pfade nach Bezeichnung und nach ID können hilfreich sein./dev/disk
enthält aber nur Speichergeräte. Sag mal, da ist nichts dran/dev/ttyUSB0
./dev/ttyUSB0
etc?Antworten:
Angenommen, ich versuche, das Gerät für meine UVC-Kamera zu finden, gibt mir lsusb:
Der Dateiname des Geräts lautet dann
/dev/bus/usb/001/004
(die erste Komponente ist die Bus-ID, die nächste die Geräte-ID).quelle
/dev/ttyUSB0
.Ich habe gerade ein Skript dafür erstellt, es ist nicht schön, funktioniert aber für mich.
Ich habe dieses Skript unter Arch Linux mit folgenden Konfigurationen getestet:
Und mein Gerätename
/dev/sdb
unterscheidet sich erheblich von Ihrem. Ich hoffe, dass er auch für Sie funktioniert.Beachten Sie auch, dass dieses Skript vom
usbutils
Paket für dasusb-devices
Programm abhängt. Ich glaube, es ist standardmäßig unter allen Linux installiert, aber ich könnte mich irren.Skript
usbname
:Verwendungszweck:
quelle