Comment afficher une notification lorsqu’un périphérique USB est inséré?

Il serait bon de savoir que lorsque vous connectez un périphérique USB comme une webcam, il me notifie que cela fonctionne ou non.

Le paquet libnotify-bin inclut un fichier binary, notify-send, qui affiche une notification. Voici un exemple d’invocation:

notify-send “Nouveau périphérique USB connecté” “Un nouveau périphérique a été connecté: blah blah blah”

Je pense que vous pourriez créer une règle udev pour les actions “add” et “remove” afin de déclencher un petit script qui invoquerait une notification. Je n’ai pas étudié la question, mais j’ai vu des scripts similaires invoquer des commandes de chiffrement / assembly pour les périphériques de stockage.

Le projet Guadalinex avait également ce type de fonctionnalité [1] qu’il avait présenté à UDS Seville en 2005 (!). Il serait peut-être plus facile de savoir s’ils soumettaient leurs travaux en amont ou s’ils étaient disponibles séparément. N’installez PAS les paquets mentionnés dans le bogue Debian que je cite, c’est uniquement à des fins de référence si quelqu’un décide de le rechercher.

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

C’est vraiment étonnant pour moi qu’en 2014, cette fonctionnalité ne fonctionne toujours pas par défaut. Il semble que très peu de personnes aient besoin de cette fonctionnalité, mais j’en ai vraiment besoin.

Tout d’abord, j’ai trouvé le paquet udev-notify , mais malheureusement ça ne marche presque pas: ça marche très peu de temps (1-2 minutes), et ensuite, si je connecte / déconnecte n’importe quel périphérique, il se bloque:

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

Je n’ai trouvé aucune solution, j’ai donc dû l’enlever. ( rapport de bug également)

Il n’y a pas d’utilitaire similaire que j’ai trouvé jusqu’à présent. J’ai donc dû implémenter ma propre solution, ce n’est probablement pas génial, mais cela fonctionne pour moi: il me notifie par une notification sonore et visuelle pour tout périphérique que je twig / détwig. Le titre du périphérique est reçu via lsusb . Ainsi, si je twig un périphérique inconnu, je vois au moins son vendor_id:product_id . J’aime ça.

Cela ressemble à ceci:

entrez la description de l'image ici

Détails de l’installation.

Testé sur Ubuntu 12.04, Xubuntu 12.04, Xubuntu 13.04, Linux Mint 13. Je pense que cela devrait fonctionner sur d’autres dérivés d’Ubuntu et j’espère que cela fonctionnera sur tout système * nix avec udev .

  • Aller à la page du projet , obtenir des sources à partir de là et les mettre quelque part. Il ne contient qu’un seul script principal: my-udev-notify.sh , mais l’archive contient également des sons pour les notifications plug / unplug, ainsi que des informations supplémentaires, voir le readme.txt pour plus de détails.
  • Créez le fichier /etc/udev/rules.d/my-udev-notify.rules avec le contenu suivant: (n’oubliez pas de modifier le chemin d’access à votre chemin réel où vous avez décompressé my-udev-notify.sh !)

  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}'" 

Après cela, cela devrait fonctionner pour les périphériques nouvellement connectés. Autrement dit, si vous détwigz un périphérique, vous ne recevrez aucune notification. Mais quand vous le retwigz, vous le ferez. (oui, pour moi cela fonctionne sans aucun redémarrage d’UDev. Si ce n’est pas votre cas, essayez de redémarrer)

Pour que cela fonctionne avec tous les appareils, redémarrez simplement votre système. REMARQUE: le premier démarrage peut comporter de nombreuses notifications (voir les problèmes connus dans le readme.txt ). Au deuxième démarrage, il n’y aura aucune notification (à moins que vous ne connectiez un nouveau périphérique lorsque le système est éteint)

Vous pouvez le personnaliser (activer / désactiver les notifications visuelles et sonores, ou modifier les sons), consultez le fichier readme.txt de l’archive pour plus de détails.

Il existe des applets pour le panneau de gnome qui vous permettront de voir les périphériques branchés et de les éjecter. Par exemple, l’ éjecteur est une applet qui vous permet de voir les périphériques amovibles montés et de les éjecter. KDE dispose d’un système de notification ultra-cool qui vous permet de voir quels périphériques ont été récemment branchés. Vous pouvez utiliser la commande lsusb pour vérifier si votre périphérique a été détecté ou non. Et si vous êtes du type aventureux, vous pouvez écrire vos propres règles udev.

Je ne crois pas qu’il y ait une telle notification pour le moment (et pour le moment je n’arrive même pas à me rappeler où configurer les notifications). Je pense qu’il peut être très difficile de faire en sorte qu’un ordinateur conclue si une webcam fonctionne correctement.

Lorsque vous insérez un périphérique USB, il apparaît normalement sur votre bureau. Je pense que vous devrez utiliser le programme que vous prévoyez d’utiliser avec votre webcam pour savoir si celle-ci fonctionne réellement.

Disons que Skype, par exemple, vous pouvez faire un test pour voir si cela fonctionne, sans appeler qui que ce soit (options – périphériques vidéo – (alors assez évident (c’est-à-dire, si je me souviens bien))

J’espère que cela répond à votre question 🙂