diff options
author | William Jon McCann <mccannwj@acsnb12.pha.jhu.edu> | 2006-10-25 14:38:19 -0400 |
---|---|---|
committer | William Jon McCann <mccannwj@acsnb12.pha.jhu.edu> | 2006-10-25 14:38:19 -0400 |
commit | a08530e838218b3c5859550058e78b8f1abee434 (patch) | |
tree | c54037c29cd86ebbecf6d9e10eb86da1ba657c9e /src/test-session |
Initial import
Diffstat (limited to 'src/test-session')
-rwxr-xr-x | src/test-session | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/test-session b/src/test-session new file mode 100755 index 0000000..d77c5f1 --- /dev/null +++ b/src/test-session @@ -0,0 +1,51 @@ +#!/usr/bin/env python + +import os +import gobject +import dbus + +def activate_reply (res): + print "session activated" + +def activate_error (e): + print str (e) + + +bus = dbus.SystemBus () + +manager_obj = bus.get_object ('org.freedesktop.ConsoleKit', '/org/freedesktop/ConsoleKit/Manager') + +manager = dbus.Interface (manager_obj, 'org.freedesktop.ConsoleKit.Manager') + +params = dbus.Array ([], signature = "sv") +params.append (("user", dbus.Variant (730))) +params.append (("session-type", dbus.Variant ("gnome-session"))) +params.append (("x11-display", dbus.Variant (":0.0"))) +params.append (("display-device", dbus.Variant ("/dev/tty8"))) + +cookie = manager.OpenSessionWithParameters (params) +os.environ['XDG_SESSION_COOKIE'] = cookie + +seats = manager.GetSeats () +for sid in seats: + seat_obj = bus.get_object ('org.freedesktop.ConsoleKit', sid) + seat = dbus.Interface (seat_obj, 'org.freedesktop.ConsoleKit.Seat') + sessions = seat.GetSessions () + for ssid in sessions: + session_obj = bus.get_object ('org.freedesktop.ConsoleKit', ssid) + session = dbus.Interface (session_obj, 'org.freedesktop.ConsoleKit.Session') + uid = session.GetUser () + +current_session = manager.GetSession (cookie) +print "Current session: %s" % current_session + +session_obj = bus.get_object ('org.freedesktop.ConsoleKit', ssid) +session = dbus.Interface (session_obj, 'org.freedesktop.ConsoleKit.Session') + +session.Activate (reply_handler = activate_reply, error_handler = activate_error) + +mainloop = gobject.MainLoop () + +gobject.timeout_add (30000, mainloop.quit) + +mainloop.run() |