]> rtime.felk.cvut.cz Git - sojka/lightdm.git/commitdiff
Implement guest-session config option
authorRobert Ancell <robert.ancell@canonical.com>
Wed, 12 Mar 2014 19:56:55 +0000 (08:56 +1300)
committerRobert Ancell <robert.ancell@canonical.com>
Wed, 12 Mar 2014 19:56:55 +0000 (08:56 +1300)
data/lightdm.conf
src/seat.c
tests/Makefile.am
tests/scripts/autologin-guest-session-config.conf [new file with mode: 0644]
tests/scripts/login-guest-session-config.conf [new file with mode: 0644]
tests/test-autologin-guest-session-config [new file with mode: 0755]
tests/test-login-guest-session-config [new file with mode: 0755]

index c9fa3c76910f4cc3cea218961442cf18725da49f..9e7ba17ca6eba6a4a86721fd8f59946dd2afc46a 100644 (file)
@@ -92,7 +92,7 @@
 #greeter-show-remote-login=true
 #user-session=default
 #allow-guest=true
-#guest-session=UNIMPLEMENTED
+#guest-session=
 #session-wrapper=lightdm-session
 #greeter-wrapper=
 #guest-wrapper=
index 0438c825e96f4eb50b8366d322ec1ce06b2fbb4a..8d1e621b223f0a41b65c7289a15d32ccf73a887f 100644 (file)
@@ -931,6 +931,8 @@ create_guest_session (Seat *seat, const gchar *session_name)
     SessionConfig *session_config;
     Session *session;
 
+    if (!session_name)
+        session_name = seat_get_string_property (seat, "guest-session");
     if (!session_name)
         session_name = seat_get_string_property (seat, "user-session");
     sessions_dir = config_get_string (config_get_instance (), "LightDM", "sessions-directory");
index 118444b5dd27c6a3d807c9ea5b7efd5a6d8a9575..50a9151016871f6e83f36c9578a0e8ad935df748 100644 (file)
@@ -46,9 +46,11 @@ TESTS = \
        test-autologin-logout \
        test-autologin-previous-session \
        test-autologin-guest \
+       test-autologin-guest-session-config \
        test-autologin-guest-fail-setup-script \
        test-autologin-guest-logout \
        test-guest-wrapper \
+       test-login-guest-session-config \
        test-group-membership \
        test-xdg-current-desktop \
        test-xdg-seat \
@@ -324,6 +326,7 @@ EXTRA_DIST = \
        scripts/autologin-guest.conf \
        scripts/autologin-guest-fail-setup-script.conf \
        scripts/autologin-guest-logout.conf \
+       scripts/autologin-guest-session-config.conf \
        scripts/autologin-guest-timeout.conf \
        scripts/autologin-in-background.conf \
        scripts/autologin-invalid-greeter.conf \
@@ -383,6 +386,7 @@ EXTRA_DIST = \
        scripts/login-guest-logout.conf \
        scripts/login-guest-pick-session.conf \
        scripts/login-guest-no-setup-script.conf \
+       scripts/login-guest-session-config.conf \
        scripts/login-info-prompt.conf \
        scripts/login-invalid-greeter.conf \
        scripts/login-invalid-session.conf \
diff --git a/tests/scripts/autologin-guest-session-config.conf b/tests/scripts/autologin-guest-session-config.conf
new file mode 100644 (file)
index 0000000..82c6f24
--- /dev/null
@@ -0,0 +1,35 @@
+#
+# Check automatic guest sessions use configured session
+#
+
+[SeatDefaults]
+autologin-guest=true
+user-session=default
+guest-session=alternative
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER-0 START VT=7 SEAT=seat0
+
+# Daemon connects when X server is ready
+#?*XSERVER-0 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Guest account created
+#?GUEST-ACCOUNT ADD USERNAME=guest-.*
+
+# Guest session starts
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/guest-.* DESKTOP_SESSION=alternative NAME=alternative USER=guest-.*
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
+
+# Cleanup
+#?*STOP-DAEMON
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?GUEST-ACCOUNT REMOVE USERNAME=guest.*
+#?RUNNER DAEMON-EXIT STATUS=0
+
diff --git a/tests/scripts/login-guest-session-config.conf b/tests/scripts/login-guest-session-config.conf
new file mode 100644 (file)
index 0000000..332bc3d
--- /dev/null
@@ -0,0 +1,46 @@
+#
+# Check guest logins use configured session
+#
+
+[SeatDefaults]
+user-session=default
+guest-session=alternative
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER-0 START VT=7 SEAT=seat0
+
+# Daemon connects when X server is ready
+#?*XSERVER-0 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Greeter starts
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
+
+# Login as guest
+#?*GREETER-X-0 AUTHENTICATE-GUEST
+#?GREETER-X-0 AUTHENTICATION-COMPLETE AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
+
+# Guest account created
+#?GUEST-ACCOUNT ADD USERNAME=guest-.*
+
+# Guest session starts
+#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/guest-.* DESKTOP_SESSION=alternative NAME=alternative USER=guest-.*
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
+
+# Cleanup
+#?*STOP-DAEMON
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?GUEST-ACCOUNT REMOVE USERNAME=guest-.*
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/test-autologin-guest-session-config b/tests/test-autologin-guest-session-config
new file mode 100755 (executable)
index 0000000..f7eca7c
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner autologin-guest-session-config test-gobject-greeter
diff --git a/tests/test-login-guest-session-config b/tests/test-login-guest-session-config
new file mode 100755 (executable)
index 0000000..dba084f
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner login-guest-session-config test-gobject-greeter