A função add_signal_receiver pode ser usada sem especificando um nome de barramento. Isso pode ser útil para capturar sinais quando o nome do barramento, a interface ou o nome do sinal específico é desconhecido.
session_bus = dbus.SessionBus()
session_bus.add_signal_receiver(self.do_something,
signal_name=None,
dbus_interface=None,
bus_name=None,
path=None)
O código acima chama o método do_something toda vez que um sinal é recebido no barramento da sessão.
Na minha pergunta original, afirmei que queria responder a "AboutToShowGroup". No entanto, após uma inspeção mais detalhada da interface 'com.canon.dbusmenu', percebi que é de fato um método e não um sinal. Eu escolhi desde então outro sinal para reagir.