j'ai écrit un script qui se connecte au bus de la session d-bus sur un ordinateur distant comme ceci:plusieurs objets de bus de la session d-bus en python
os.environ["DBUS_SESSION_BUS_ADDRESS"] = "tcp:host=192.168.0.1,port=1234"
bus = dbus.SessionBus()
Cela fonctionne très bien sauf que maintenant je dois être en mesure se connecter à plusieurs bus de session sur différents ordinateurs. Je l'ai essayé ce qui suit:
os.environ["DBUS_SESSION_BUS_ADDRESS"] = "tcp:host=192.168.0.1,port=1234"
bus1 = dbus.SessionBus()
os.environ["DBUS_SESSION_BUS_ADDRESS"] = "tcp:host=192.168.0.2,port=1234"
bus2 = dbus.SessionBus()
Mais cela ne fonctionne pas. Le deuxième appel à SessionBus renvoie le même objet que le premier appel. c'est à dire. dans ce cas, les deux objets se réfèrent au bus de session sur 192.168.0.1. Il semble que seul le premier appel à SessionBus fasse quoi que ce soit et tous les appels suivants renvoient simplement l'objet qui a été créé lors du premier appel. Est-ce que quelqu'un sait un moyen de contourner cela?
Merci. Ça va prendre quelques jours avant que j'aie l'occasion de le tester maintenant, mais ça semble prometteur. – Shum
N'a pas fonctionné malheureusement. Les deux objets bus communiquent toujours avec la même adresse IP. – Shum