[28366] in Source-Commits

home help back first fref pref prev next nref lref last post

lightdm-config commit: Update to support the new kiosk mode

daemon@ATHENA.MIT.EDU (Jonathan D Reed)
Thu Jul 31 17:15:58 2014

Date: Thu, 31 Jul 2014 17:15:51 -0400
From: Jonathan D Reed <jdreed@MIT.EDU>
Message-Id: <201407312115.s6VLFpeX020182@drugstore.mit.edu>
To: source-commits@MIT.EDU

https://github.com/mit-athena/lightdm-config/commit/5f18fa3f279dbe8c4f79ff9996fbaf2386c476c7
commit 5f18fa3f279dbe8c4f79ff9996fbaf2386c476c7
Author: Jonathan Reed <jdreed@mit.edu>
Date:   Wed Jul 30 11:16:24 2014 -0400

    Update to support the new kiosk mode
    
    Add support for debathena-kiosk 1.5 (and drop older support) which
    now uses a normal session code path.  The kiosk session name and
    the user are hardcoded, for now. (Trac: #628)

 debian/changelog                 |    7 +++++++
 debian/debathena-lightdm-greeter |   12 +++++++++---
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index e131910..d743d4c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+debathena-lightdm-config (1.13.2) unstable; urgency=low
+
+  * Tweak the kiosk launching command to use the normal session startup
+    codepath (Trac: #628)
+
+ -- Jonathan Reed <jdreed@mit.edu>  Wed, 30 Jul 2014 11:14:41 -0400
+
 debathena-lightdm-config (1.13.1) unstable; urgency=low
 
   * Add a hack to allow users to reboot the workstation from the greeter,
diff --git a/debian/debathena-lightdm-greeter b/debian/debathena-lightdm-greeter
index fcafca5..20bba64 100755
--- a/debian/debathena-lightdm-greeter
+++ b/debian/debathena-lightdm-greeter
@@ -24,7 +24,9 @@ LD_MANAGER_PATH = '/org/freedesktop/login1'
 LD_MANAGER_IFACE = 'org.freedesktop.login1.Manager'
 LD_SESSION_IFACE = 'org.freedesktop.login1.Session'
 
-KIOSK_LAUNCH_CMD="/usr/lib/debathena-kiosk/lightdm-launch-kiosk"
+KIOSK_SESSION_KEY="debathena-kiosk"
+KIOSK_USER="kiosk@mit"
+KIOSK_LAUNCH_CMD="/usr/lib/debathena-kiosk/debathena-kiosk-session"
 PICKBOARD_CMD="/usr/bin/onboard"
 UI_FILE="/usr/share/debathena-lightdm-config/debathena-lightdm-greeter.ui"
 CONFIG_FILE="/etc/debathena-lightdm-greeter.ini"
@@ -181,7 +183,8 @@ class DebathenaGreeter:
         self.cmbSession.set_entry_text_column(0);
         self.cmbSession.set_id_column(1);
         for s in LightDM.get_sessions():
-            self.cmbSession.append(s.get_key(), s.get_name())
+            if s.get_key() != KIOSK_SESSION_KEY:
+                self.cmbSession.append(s.get_key(), s.get_name())
         # Select the first session
         # TODO: Select the configured default session or the user's session
         self.cmbSession.set_active(0)
@@ -431,6 +434,8 @@ class DebathenaGreeter:
         Gdk.Window.focus(self.winLogin.get_window(), Gdk.CURRENT_TIME)
 
     def getSelectedSession(self):
+        if self.greeter.get_authentication_user() == KIOSK_USER:
+            return KIOSK_SESSION_KEY
         i = self.cmbSession.get_active_iter()
         session_name = self.cmbSession.get_model().get_value(i, 1)
         self._debug("selected session is " + session_name)
@@ -572,7 +577,8 @@ class DebathenaGreeter:
         self.message_label.hide()
 
     def spawnBrowser(self, event):
-        subprocess.call(KIOSK_LAUNCH_CMD)
+        self.startOver()
+        self.greeter.authenticate(KIOSK_USER)
 
     def errDialog(self, errText):
         dlg = Gtk.MessageDialog(self.winLogin,

home help back first fref pref prev next nref lref last post