J'essaye de verrouiller mon économiseur d'écran GNOME, cependant la méthode dbus .Lock
attend une réponse. Je voudrais pas attendre une réponse (juste envoyer le signal pour verrouiller l'économiseur d'écran, et continuer avec la vie). Comment puis-je faire cela? (En pratique ce code est dans un fil donc je continue avec la vie, mais je reçois toujours la méchante erreur)Méthode d'appel dbus sur proxy sans blocage (ou pas de timeout)
session_bus = dbus.SessionBus()
screensaver_proxy = session_bus.get_object('org.gnome.ScreenSaver', '/org/gnome/ScreenSaver')
locked = screensaver_proxy.Lock(dbus_interface='org.gnome.ScreenSaver')
print "HELLO" # will never get called, due to:
/*
locked = screensaver_proxy.Lock(dbus_interface='org.gnome.ScreenSaver')
File "/usr/lib/pymodules/python2.6/dbus/proxies.py", line 68, in __call__
return self._proxy_method(*args, **keywords)
File "/usr/lib/pymodules/python2.6/dbus/proxies.py", line 140, in __call__
**keywords)
File "/usr/lib/pymodules/python2.6/dbus/connection.py", line 620, in call_blocking
message, timeout)
DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken
*/
hm. Malheureusement, la documentation n'est pas vraiment étendue là-bas. Où fournit-on les paramètres 'reply_handler' et' error_handler'? Apparemment pas sur 'get_object'. –