I got it!<br>I use the wrong object path, so i can&#39;t get the signal<br>the correct one is /org/freedesktop/DBus,as follows<br>proxy = sessionBus.get_object(&#39;org.freedesktop.DBus&#39;, &#39;/org/freedesktop/DBus&#39;)<br>
<br>Thank you!<br><br><br><br>_______________________________<br>quoted text:<br><br>Thanks.Maybe i don&#39;t totally get what you mean.<br>i tried the following code.When rhythmbox lauches or quits,nothing is printed.<br>
Code in python:<br><br>import dbus<br>from dbus.mainloop.glib import DBusGMainLoop<br>
import gobject<br>import glib<br><br>class Test:<br>        def __init__(self):<br>                DBusGMainLoop(set_as_default=<div id=":8i" class="ii gt">True)<br>                sessionBus = dbus.SessionBus()<br><br>                proxy = sessionBus.get_object(&#39;org.freedesktop.DBus&#39;, &#39;/&#39;)#this object path is wrong<br>

                self.interface = dbus.Interface(proxy, &#39;org.freedesktop.DBus&#39;)<br>                self.interface.connect_to_signal(&#39;NameOwnerChanged&#39;, self.callback)<br><br>                gobject.MainLoop().run()<br>

<br>        def callback(self, s1, s2, s3):<br>                print s1, s2, s3<br><br>if __name__ == &#39;__main__&#39;:<br>        Test()</div><br>