From b4c56fb4b5f0c496b544080c5dd38d3cf93c10e8 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Tue, 14 Jul 2009 17:40:43 +0200 Subject: Imported Upstream version 0.2.1 --- src/test-open-session | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100755 src/test-open-session (limited to 'src/test-open-session') diff --git a/src/test-open-session b/src/test-open-session new file mode 100755 index 0000000..c037cee --- /dev/null +++ b/src/test-open-session @@ -0,0 +1,46 @@ +#!/usr/bin/env python +# +# Test opening a new session +# + +import os +import gobject +import dbus +import dbus.glib + +print "uid=%d pid=%d" % (os.geteuid (), os.getpid ()) + +bus = dbus.SystemBus () + +manager_obj = bus.get_object ('org.freedesktop.ConsoleKit', '/org/freedesktop/ConsoleKit/Manager') + +manager = dbus.Interface (manager_obj, 'org.freedesktop.ConsoleKit.Manager') + +cookie = manager.OpenSession () +os.environ['XDG_SESSION_COOKIE'] = cookie +print "Got cookie: %s" % 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 () + +# Hmm looks like the proc environment doesn't get updated when +# os.environ is set. So, we won't use GetCurrentSession. +#current_session = manager.GetCurrentSession () +current_session = manager.GetSessionForCookie (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') + +mainloop = gobject.MainLoop () + +gobject.timeout_add (30000, mainloop.quit) + +mainloop.run() -- cgit v1.2.3