Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/session
diff options
context:
space:
mode:
authorMarco 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)
commitfc1aefc72c35b830ae36e5f29fce31947eb70dd7 (patch)
tree3752aee2f4534d2ff31188d6cd0f12e2ae61b53b /shell/session
parentc5fb39875c9a6609868ef7295193840df183a6f4 (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.py8
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