diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-08-11 23:29:55 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-08-11 23:29:55 (GMT) |
commit | fc1aefc72c35b830ae36e5f29fce31947eb70dd7 (patch) | |
tree | 3752aee2f4534d2ff31188d6cd0f12e2ae61b53b /shell/session | |
parent | c5fb39875c9a6609868ef7295193840df183a6f4 (diff) |
Use dbus-launch with the --exit-with-session. dbus not exiting still not fully solved.
Diffstat (limited to 'shell/session')
-rw-r--r-- | shell/session/Session.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/shell/session/Session.py b/shell/session/Session.py index 8131c1d..aac6576 100644 --- a/shell/session/Session.py +++ b/shell/session/Session.py @@ -2,6 +2,8 @@ import os import gtk import gobject import time +import re + import dbus import dbus.dbus_bindings @@ -13,7 +15,7 @@ import sugar.env class DbusProcess(Process): def __init__(self): config = sugar.env.get_dbus_config() - cmd = "dbus-daemon --print-address --config-file %s" % config + cmd = "dbus-launch --exit-with-session --config-file %s" % config Process.__init__(self, cmd) def get_name(self): @@ -22,8 +24,8 @@ class DbusProcess(Process): def start(self): Process.start(self, True) dbus_file = os.fdopen(self._stdout) - addr = dbus_file.readline() - addr = addr.strip() + regexp = re.compile('DBUS_SESSION_BUS_ADDRESS=\'(.*)\'\;') + addr = regexp.match(dbus_file.readline()).group(1) dbus_file.close() os.environ["DBUS_SESSION_BUS_ADDRESS"] = addr |