Не могу получить сигналы UPower

Я новичок в dbus, поэтому, пожалуйста, будьте терпеливы со мной.

У меня есть следующий код: http://pastebin.com/8zpM7Pwb .

Это какой-то образец, который я нашел и изменил в соответствии с моим делом.

Общая идея состоит в том, чтобы «захватывать» сигналы шины dbus из com.canonical.Unity.Panel.Service и из org.freedesktop.UPower (главным образом, второго - я использую Panel только для сравнения). Проблема в том, что я получаю сигналы от Unity Panel, но не от UPower. Я запустил dbus-monitor во втором терминале в то же время, так что я точно знаю, что эти сигналы летают вокруг.

Я также тестировал эти интерфейсы один за другим, и результат тот же - код с интерфейсом Unity Panel получает нужные мне сигналы, а код с UPower - просто блокирует dbus_connection_read_write(conn, -1); и никогда не запускается. [ 119]

Может кто-нибудь показать мне, где я делаю ошибку?

1
задан 19 February 2013 в 12:57

1 ответ

Вместо DBUS_BUS_SESSION я должен был использовать DBUS_BUS_SYSTEM, так как интерфейс org.freedesktop.UPower не отправляет сигналы в объеме сеанса.

Так просто.

0
ответ дан 19 February 2013 в 12:57

Другие вопросы по тегам:

Похожие вопросы: