USB-устройства UDev и D-BUS

Я пытаюсь получить список подключенных в данный момент USB-устройств в Ubuntu 10.10 и отслеживать происходящие изменения, например, устройства, подключенные или отключенные с помощью UDev и D-BUS. Я новичок в программировании с использованием D-BUS. Я видел один пример: Linux: Как определить, подключена ли и отключена ли USB-клавиатура только то, что используется HAL, и я знаю, что HAL устарел. Я нашел рабочий код, немного изменил его, только он не работает ни с одним устройством, только с устройствами хранения, такими как USB-накопители, медиаплееры или устройства cd-rom. Я хочу, чтобы все это были мыши, клавиатуры, зарядные устройства для USB-камер, все, что подключено к USB. Я хочу, чтобы моя программа знала об этом. Это в основном то, что у меня есть ( 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()

Любая помощь будет оценена . Заранее спасибо, Как определить, что USB-клавиатура подключена и отключена , только если используется HAL, и я знаю, что HAL устарел. Я нашел рабочий код, немного изменил его, только он не работает ни с одним устройством, только с устройствами хранения, такими как USB-накопители, медиаплееры или устройства cd-rom. Я хочу, чтобы все это были мыши, клавиатуры, зарядные устройства для USB-камер, все, что подключено к USB. Я хочу, чтобы моя программа знала об этом. Это в основном то, что у меня есть ( 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()

Любая помощь будет оценена . Заранее спасибо, Как определить, что USB-клавиатура подключена и отключена , только если используется HAL, и я знаю, что HAL устарел. Я нашел рабочий код, немного изменил его, только он не работает ни с одним устройством, только с устройствами хранения, такими как USB-накопители, медиаплееры или устройства cd-rom. Я хочу, чтобы все это были мыши, клавиатуры, зарядные устройства для USB-камер, все, что подключено к USB. Я хочу, чтобы моя программа знала об этом. Это в основном то, что у меня есть ( 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()

Любая помощь будет оценена . Заранее спасибо, медиаплееры или устройства для чтения компакт-дисков. Я хочу, чтобы все это были мыши, клавиатуры, зарядные устройства для USB-камер, все, что подключено к USB. Я хочу, чтобы моя программа знала об этом. Это в основном то, что у меня есть ( 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()

Любая помощь будет оценена . Заранее спасибо, медиаплееры или устройства для чтения компакт-дисков. Я хочу, чтобы все это были мыши, клавиатуры, зарядные устройства для USB-камер, все, что подключено к USB. Я хочу, чтобы моя программа знала об этом. Это в основном то, что у меня есть ( 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()

Любая помощь будет оценена . Заранее спасибо, Calota Romeo

15
задан Community 23 May 2017 в 12:09
поделиться