it-swarm.com.de

Wie kann ich eine Benachrichtigung anzeigen, wenn ein USB-Gerät angeschlossen ist?

Es wäre gut zu wissen, dass ich beim Anschließen eines USB-Geräts wie einer Webkamera benachrichtigt werde, ob es funktioniert oder nicht.

6
Keyvan

Das Paket libnotify-bin enthält eine Binärdatei notify-send , die angezeigt wird eine Benachrichtigung. Hier ist ein Beispiel, wie man es aufruft:

benachrichtigen-senden "Neues USB-Gerät angeschlossen" "Ein neues Gerät wurde angeschlossen: bla bla bla"

Ich glaube, Sie könnten eine udev-Regel für "Hinzufügen" und "Entfernen" erstellen, um ein kleines Skript auszulösen, das eine Benachrichtigung auslöst. Ich habe dies nicht untersucht, aber ich habe ähnliche Skripte gesehen, die Verschlüsselungs-/Mouting-Befehle für Speichergeräte aufrufen.

Das Guadalinex-Projekt verfügte auch über diese Art von Funktionalität [1], die sie 2005 in UDS Sevilla (!) Vorführten. Vielleicht wäre es einfacher, sie aufzuspüren, wenn sie ihre Arbeit vorgelagert hätten oder wenn sie irgendwo als separates Paket verfügbar wäre. Installiere NICHT die Pakete, auf die im Debian-Fehler verwiesen wird Ich zitiere, dies ist nur zu Referenzzwecken, wenn jemand beschließen würde, es zu untersuchen.

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=458405

3
MagicFab

Es ist wirklich überraschend für mich, dass 2014 diese Funktion noch nicht standardmäßig funktioniert. Es scheint, dass es sehr wenige Leute gibt, die diese Funktion benötigen, aber ich brauche sie wirklich .

Zuerst habe ich dev-notify Paket gefunden, aber leider funktioniert es bei mir fast nicht: es funktioniert für sehr wenig Zeit (1-2 Minuten) und dann, wenn ich mich verbinde/trenne Jedes Gerät stürzt ab:

Traceback (most recent call last):
  File "./udev-notify.py", line 319, in <module>
    notification.show()
glib.GError: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name :1.1061 was not provided by any .service files

Ich habe keine Lösung gefunden, also musste ich sie entfernen. (abgelegt Bugreport auch)

Bisher habe ich noch keine ähnlichen Dienstprogramme gefunden. Also musste ich meine eigene Lösung implementieren, es ist wahrscheinlich nicht brillant, aber es funktioniert für mich: Es benachrichtigt mich mit akustischer und visueller Benachrichtigung für jedes Gerät dass ich ein/ausstecke. Der Titel des Geräts wird über lsusb empfangen. Wenn ich also ein unbekanntes Gerät anschließe, sehe ich zumindest dessen vendor_id:product_id. Ich mag das.

Es sieht aus wie das:

enter image description here

Installationsdetails.

Getestet auf Ubuntu 12.04, Xubuntu 12.04, Xubuntu 13.04, Linux Mint 13. Ich glaube, es sollte auf anderen Ubuntu-Derivaten funktionieren, und ich hoffe, es wird auf jedem * nix-System mit udev funktionieren.

  • Gehen Sie zu Projektseite , holen Sie sich dort Quellen und platzieren Sie sie irgendwo. Es gibt nur ein Hauptskript: my-udev-notify.sh, aber das Archiv enthält auch Sounds für Plug/Unplug-Benachrichtigungen sowie weitere Informationen. Weitere Informationen finden Sie unter readme.txt.
  • Erstellen Sie die Datei /etc/udev/rules.d/my-udev-notify.rules mit folgendem Inhalt: (Vergessen Sie nicht, den Pfad in den Pfad zu ändern, in den Sie my-udev-notify.sh entpackt haben.)

 ACTION=="add",    RUN+="/bin/bash /path/to/my-udev-notify.sh -a add    -p '%p' -b '$attr{busnum}' -d '$attr{devnum}'"
 ACTION=="remove", RUN+="/bin/bash /path/to/my-udev-notify.sh -a remove -p '%p' -b '$attr{busnum}' -d '$attr{devnum}'"

Danach sollte es für neu angeschlossene Geräte funktionieren. Das heißt, wenn Sie ein Gerät vom Stromnetz trennen, erhalten Sie keine Benachrichtigung. Aber wenn Sie es wieder einstecken, werden Sie. (Ja, bei mir funktioniert es, ohne dass udev neu gestartet wird. Wenn dies nicht der Fall ist, versuchen Sie einen Neustart.)

Starten Sie einfach Ihr System neu, damit es für alle Geräte funktioniert. HINWEIS: Während des ersten Startvorgangs werden möglicherweise viele Benachrichtigungen angezeigt (siehe bekannte Probleme in readme.txt). Beim zweiten Start werden keine Benachrichtigungen angezeigt (es sei denn, Sie schließen ein neues Gerät an, wenn das System ausgeschaltet ist.)

Sie können es anpassen (visuelle und akustische Benachrichtigungen aktivieren/deaktivieren oder Sounds ändern). Weitere Informationen finden Sie in der Datei readme.txt im Archiv.

3
Dmitry Frank

Es gibt Applets für das Gnome-Panel, mit denen Sie angeschlossene Geräte sehen und auswerfen können. Zum Beispiel gibt es Auswerfer, ein Applet, mit dem Sie gemountete Wechselmedien anzeigen und auswerfen können. KDE verfügt über ein ultracooles Benachrichtigungssystem, mit dem Sie sehen können, welche Geräte kürzlich angeschlossen wurden. Sie können versuchen, mit dem Befehl lsusb zu überprüfen, ob Ihr Gerät erkannt wurde oder nicht. Und wenn Sie der abenteuerlustige Typ sind, können Sie Ihre eigenen udev-Regeln schreiben.

2
tinhed

ich glaube nicht, dass es eine solche Benachrichtigung noch gibt, (und im Moment kann ich mich noch nicht einmal daran erinnern, wo ich die Benachrichtigungen einrichten soll).

wenn Sie ein USB-Gerät anschließen, das normalerweise auf Ihrem Desktop angezeigt wird, müssen Sie meines Erachtens das Programm verwenden, das Sie für Ihre Webcam verwenden möchten, um herauszufinden, ob die Webcam tatsächlich funktioniert.

sagen wir mal Skype, zum Beispiel können Sie einen Test machen, um zu sehen, ob es funktioniert, ohne jemanden anzurufen (Optionen - Videogeräte - (dann ziemlich offensichtlich (wenn ich mich richtig erinnere))

ich hoffe das beantwortet deine frage :-)

0
Stenen