Название: Dbus - KDE = trouble Отправлено: Termit от Октябрь 29, 2010, 00:11 Наступил на неприятные грабли...
Пишу на Kubuntu 10.10 (KDE 4.5) пока писал, тестировал и т.д. все было в порядке и нравилось. НО как только, то, что писал, запустил на Debian Lenny (KDE 3.5) несколько расстроился... Суть проблемы: В приложении которое отсылает сигналы подключаюсь к DBUS так: Код: QDBusConnection connection = QDBusConnection::connectToBus(QDBusConnection::SessionBus, DefaultsFilesystem::nameServiceFiscallistener()); Посылаю сигналы так: Код: emit makingMoneySignal(sender->id(), summ); и так далее... В другом приложении ловлю сигналы так Код: QDBusConnection::sessionBus().connect( И результат таков: В Kubuntu в сессии KDE все работает как часы (без KDE не проверял, но уверен будут грабли) В Debian без сессии KDE Получаю сообщения об ошибках > DBus connect false > DBus register object false > DBus register object false Ну и соответственно ничего не работает. В Debian в сессии KDE Подключение проходит успешно, но при отсылке сигнала получаю сообщения типа такого: process 9565: arguments to dbus_message_new_signal() were incorrect, assertion "interface != NULL" failed in file dbus-message.c line 1287. This is normally a bug in some application using the D-Bus library. QDBusConnection: Could not emit signal (null).beginSaleSignal process 9565: arguments to dbus_message_new_signal() were incorrect, assertion "interface != NULL" failed in file dbus-message.c line 1287. This is normally a bug in some application using the D-Bus library. QDBusConnection: Could not emit signal (null).addSalePositionSignal Идея работы приложения такая: - Приложение которое будет отсылать сигналы запускается однозначно до всех WindowManager, KDM, GDM и т.д. - Приложение которое ловит сигналы будет запускаться уже в X сессии Вопрос как заставить работать DBUS чтобы не было привязки к запущенной сессии не то, что KDE, а вообще к Х11 но чтобы сигналы отправлялись-ловились? Как правильно вообще такое делать? Впервые столкнулся с DBUS. |