Não é possível receber sinais UPower

1

Eu sou novato em dbus, então, por favor, seja paciente comigo.

Eu tenho um código a seguir: link .

É uma amostra que encontrei e mudei para se adequar ao meu caso.

A idéia geral é "interceptar" os sinais dbus de com.canonical.Unity.Panel.Service e org.freedesktop.UPower (principalmente o segundo - eu uso o Panel apenas como comparação). O problema é que estou recebendo sinais do Painel Unity, mas nenhum da UPower. Eu lancei dbus-monitor no segundo terminal no mesmo tempo, então eu sei com certeza, que esses sinais voam ao redor.

Eu também testei essas interfaces uma a uma e o resultado é o mesmo - o código com a interface do Unity Panel recebe sinais que eu quero, o código com o UPower não - ele simplesmente bloqueia dbus_connection_read_write(conn, -1); e nunca continua. / p>

Alguém pode me mostrar onde estou cometendo erros?

    
por R G 18.02.2013 / 11:36

1 resposta

3

Em vez de DBUS_BUS_SESSION , eu deveria ter usado DBUS_BUS_SYSTEM , pois a interface org.freedesktop.UPower não envia sinais no escopo da sessão.

Tão simples quanto isso.

    
por R G 26.06.2013 / 13:01