Если делать запуск приложения , которое обращается к написанным методам dbus , таким же способом через dbus-launch. возникает ошибка The name org.SmtpIface was not provided by any .service files
Это возникает по видимому потому, что команда dbus-launch каждый раз создает ситемную шину… как мне можно сделать вызов методов из написанного для dbus интерфейса?
вот нынешний код:
main_loop = DBusGMainLoop()
bus = dbus.SessionBus(mainloop=main_loop)
DBUS_NAME = "org.SmtpIface"
DBUS_PATH = "/org/SmtpIface"
class SmtpIface(dbus.service.Object):
def __init__(self):
global bus
bus_name = dbus.service.BusName(DBUS_NAME, bus=bus)
dbus.service.Object.__init__(self, bus_name, DBUS_PATH)
self.bus = dbus.SessionBus()
obj = self.bus.get_object('org.SmtpIface', '/org/SmtpIface')
iface = dbus.Interface(obj, 'org.SmtpIface')