display = os.getenv ('DISPLAY');
xdg_seat = os.getenv ('XDG_SEAT');
xdg_vtnr = os.getenv ('XDG_VTNR');
+xdg_session_cookie = os.getenv ('XDG_SESSION_COOKIE');
xdg_session_class = os.getenv ('XDG_SESSION_CLASS');
if display is not None:
if display.startswith (':'):
r = '%s START-SESSION' % greeter_id
if request == r:
- if not greeter.start_session_sync (None):
- status_notify ('%s SESSION-FAILED' % greeter_id)
+ try:
+ greeter.start_session_sync (None)
+ except GLib.Error as e:
+ status_notify ('%s SESSION-FAILED ERROR=%s' % (greeter_id, e.message))
r = '%s START-SESSION SESSION=' % greeter_id
if request.startswith (r):
- if not greeter.start_session_sync (request[len(r):]):
- status_notify ('%s SESSION-FAILED' % greeter_id)
+ try:
+ greeter.start_session_sync (request[len(r):])
+ except GLib.Error as e:
+ status_notify ('%s SESSION-FAILED ERROR=%s' % (greeter_id, e.message))
r = '%s LOG-USER-LIST-LENGTH' % greeter_id
if request == r:
status_text += ' XDG_SEAT=%s' % xdg_seat
if xdg_vtnr is not None:
status_text += ' XDG_VTNR=%s' % xdg_vtnr
+if xdg_session_cookie is not None:
+ status_text += ' XDG_SESSION_COOKIE=%s' % xdg_session_cookie
if xdg_session_class is not None:
status_text += ' XDG_SESSION_CLASS=%s' % xdg_session_class
status_notify (status_text)
LightDM.UserList.get_instance ().connect ('user-removed', user_removed_cb)
status_notify ('%s CONNECT-TO-DAEMON' % greeter_id)
-if not greeter.connect_to_daemon_sync ():
+try:
+ greeter.connect_to_daemon_sync ()
+except:
status_notify ('%s FAIL-CONNECT-DAEMON' % greeter_id)
exit (1)