Périphériques USB UDev et D-BUS
Je suis en train d'essayer d'obtenir une liste de actuellement branché en USB périphériques dans Ubuntu 10.10 et de surveiller les changements qui surviennent, comme les appareils branchés dans ou en dehors de l'utilisation d'UDev et D-BUS. Je suis assez nouveau dans la programmation à l'aide de D-BUS. J'ai vu un exemple: Linux : Comment détecter les est clavier usb est branché et débranché seulement que l'on utilise HAL et je sais que HAL est obsolète. J'ai trouvé un code de travail, modifié un peu, seulement, il ne fonctionne pas pour tout appareil uniquement des périphériques de stockage tels que les clés usb, les lecteurs multimédias ou de cd-rom. Je veux le tout des souris, des claviers, caméras usb chargeurs de tout ce qui est branché dans le port USB je veux que mon programme à savoir sur le sujet. C'est en gros ce que j'ai ( http://moserei.de/2010/01/08/accessing-devicekit-with-dbus-and-python.html ):
import dbus
import gobject
from dbus.mainloop.glib import DBusGMainLoop
def device_added_callback(device):
print 'Device %s was added' % (device)
def device_changed_callback(device):
print 'Device %s was changed' % (device)
#must be done before connecting to DBus
DBusGMainLoop(set_as_default=True)
bus = dbus.SystemBus()
proxy = bus.get_object("org.freedesktop.UDisks",
"/org/freedesktop/UDisks")
iface = dbus.Interface(proxy, "org.freedesktop.UDisks.Device")
devices = iface.get_dbus_method('EnumerateDevices')()
print '%s' % (devices)
#addes two signal listeners
iface.connect_to_signal('DeviceAdded', device_added_callback)
iface.connect_to_signal('DeviceChanged', device_changed_callback)
#start the main loop
mainloop = gobject.MainLoop()
mainloop.run()
Toute aide serait aprécié. Je vous remercie à l'avance,
Calota Romeo
source d'informationauteur Calota Romeo
Vous devez vous connecter pour publier un commentaire.
La udisks service D-Bus, évidemment, seuls les rapports de disques.
De surveiller udev directement (par le biais de libudev, par le biais de pyudev).
C'est ce que j'utilise à la liste déjà branché flash bâtons. Vous pouvez modifier le script à vos besoins
Et c'est ce que j'utilise pour voir si aucun périphérique usb branché :
Voici l'exemple de UDisks :
python udisks - l'énumération des informations de périphérique