g_free (username);
break;
case GREETER_MESSAGE_SET_RESETTABLE:
- greeter->priv->resettable = read_int (greeter, &offset);
+ greeter->priv->resettable = (gboolean)read_int (greeter, &offset);
break;
default:
l_warning (greeter, "Unknown message from greeter: %d", id);
Greeter *greeter = GREETER (s);
if (greeter_get_resettable (greeter))
{
- l_debug (seat, "Idling greeter");
- greeter_idle (greeter);
+ if (seat->priv->active_session == greeter)
+ {
+ l_debug (seat, "Idling greeter");
+ greeter_idle (greeter);
+ }
}
else
{
/* If can re-use the display server, stop the greeter first */
display_server = session_get_display_server (SESSION (greeter));
- if (can_share_display_server (seat, display_server) &&
+ if (!greeter_get_resettable (greeter) &&
+ can_share_display_server (seat, display_server) &&
strcmp (display_server_get_session_type (display_server), session_get_session_type (session)) == 0)
{
l_debug (seat, "Stopping greeter; display server will be re-used for user session");
--- /dev/null
+#
+# Check can lock a seat from D-Bus
+# Uses a resettable greeter
+#
+
+[SeatDefaults]
+user-session=default
+
+[test-greeter-config]
+resettable=true
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+#?*WAIT
+
+# 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
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
+
+# Log into account with a password
+#?*GREETER-X-0 AUTHENTICATE USERNAME=no-password1
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=no-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+
+# Start new X server for session
+#?XSERVER-1 START VT=8 SEAT=seat0
+#?*XSERVER-1 INDICATE-READY
+#?XSERVER-1 INDICATE-READY
+#?XSERVER-1 ACCEPT-CONNECT
+#?VT ACTIVATE VT=8
+#?GREETER-X-0 IDLE
+
+# Session starts
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_GREETER_DATA_DIR=.*/no-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=no-password1
+#?LOGIN1 ACTIVATE-SESSION SESSION=c1
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 CONNECT-XSERVER
+
+# Lock the seat
+#?*SESSION-X-1 LOCK-SEAT
+#?SESSION-X-1 LOCK-SEAT
+
+# Back to greeter
+#?LOGIN1 LOCK-SESSION
+#?GREETER-X-0 RESET
+#?GREETER-X-0 LOCK-HINT
+#?VT ACTIVATE VT=7
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+
+# Cleanup
+#?*STOP-DAEMON
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?SESSION-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
--- /dev/null
+#
+# Check can lock a session from D-Bus
+# Uses a resettable greeter
+#
+
+[SeatDefaults]
+user-session=default
+
+[test-greeter-config]
+resettable=true
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+#?*WAIT
+
+# 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
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
+
+# Log into account with a password
+#?*GREETER-X-0 AUTHENTICATE USERNAME=no-password1
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=no-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+
+# Start new X server for session
+#?XSERVER-1 START VT=8 SEAT=seat0
+#?*XSERVER-1 INDICATE-READY
+#?XSERVER-1 INDICATE-READY
+#?XSERVER-1 ACCEPT-CONNECT
+#?VT ACTIVATE VT=8
+#?GREETER-X-0 IDLE
+
+# Session starts
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_GREETER_DATA_DIR=.*/no-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=no-password1
+#?LOGIN1 ACTIVATE-SESSION SESSION=c1
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 CONNECT-XSERVER
+
+# Lock the session
+#?*SESSION-X-1 LOCK-SESSION
+#?SESSION-X-1 LOCK-SESSION
+
+# Back to greeter with session user selected
+#?LOGIN1 LOCK-SESSION
+#?GREETER-X-0 RESET
+#?GREETER-X-0 SELECT-USER-HINT USERNAME=no-password1
+#?GREETER-X-0 LOCK-HINT
+#?VT ACTIVATE VT=7
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+
+# Cleanup
+#?*STOP-DAEMON
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?SESSION-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
--- /dev/null
+#
+# Use D-Bus interface to show the greeter
+# Uses a resettable greeter
+#
+
+[SeatDefaults]
+allow-guest=false
+user-session=default
+
+[test-greeter-config]
+resettable=true
+
+#?*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
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
+#?GREETER-X-0 HAS-GUEST-ACCOUNT-HINT=FALSE
+
+# Log into account with a password
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+
+# Start new X server for session
+#?XSERVER-1 START VT=8 SEAT=seat0
+#?*XSERVER-1 INDICATE-READY
+#?XSERVER-1 INDICATE-READY
+#?XSERVER-1 ACCEPT-CONNECT
+#?VT ACTIVATE VT=8
+#?GREETER-X-0 IDLE
+
+# Session starts
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1
+#?LOGIN1 ACTIVATE-SESSION SESSION=c1
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 CONNECT-XSERVER
+
+# Show the greeter
+#?*SWITCH-TO-GREETER
+#?RUNNER SWITCH-TO-GREETER
+
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
+# Switch to greeter
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?VT ACTIVATE VT=7
+
+# Cleanup
+#?*STOP-DAEMON
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
+#?SESSION-X-1 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
--- /dev/null
+#
+# Check D-Bus interface can trigger/switch to guest session
+# Uses a resettable greeter
+#
+
+[LightDM]
+guest-account-script=false
+
+[SeatDefaults]
+user-session=default
+
+[test-greeter-config]
+resettable=true
+
+#?*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
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
+
+# Log into account with a password
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+
+# Start new X server for session
+#?XSERVER-1 START VT=8 SEAT=seat0
+#?*XSERVER-1 INDICATE-READY
+#?XSERVER-1 INDICATE-READY
+#?XSERVER-1 ACCEPT-CONNECT
+#?VT ACTIVATE VT=8
+#?GREETER-X-0 IDLE
+
+# Session starts
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1
+#?LOGIN1 ACTIVATE-SESSION SESSION=c1
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 CONNECT-XSERVER
+
+# Switch to guest
+#?*SWITCH-TO-GUEST
+#?RUNNER SWITCH-TO-GUEST
+
+# Start new X server for guest
+#?XSERVER-2 START VT=9 SEAT=seat0
+#?*XSERVER-2 INDICATE-READY
+#?XSERVER-2 INDICATE-READY
+#?XSERVER-2 ACCEPT-CONNECT
+
+# (guest account attempts to start and fails)
+
+# Back to greeter
+#?LOGIN1 LOCK-SESSION
+#?GREETER-X-0 RESET
+#?GREETER-X-0 SELECT-GUEST-HINT
+#?VT ACTIVATE VT=7
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+
+# Cleanup
+#?*STOP-DAEMON
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?SESSION-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
+#?XSERVER-2 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
--- /dev/null
+#
+# Check that switching to an existing account with a password shows the greeter
+# Uses a resettable greeter
+#
+
+[SeatDefaults]
+user-session=default
+
+[test-greeter-config]
+resettable=true
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+#?*WAIT
+
+# 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
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
+
+# Log into account with a password
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+
+# Start new X server for session
+#?XSERVER-1 START VT=8 SEAT=seat0
+#?*XSERVER-1 INDICATE-READY
+#?XSERVER-1 INDICATE-READY
+#?XSERVER-1 ACCEPT-CONNECT
+#?VT ACTIVATE VT=8
+#?GREETER-X-0 IDLE
+
+# Session starts
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1
+#?LOGIN1 ACTIVATE-SESSION SESSION=c1
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 CONNECT-XSERVER
+
+# Switch to another user
+#?*SWITCH-TO-USER USERNAME=no-password1
+#?RUNNER SWITCH-TO-USER USERNAME=no-password1
+
+# New X server starts
+#?XSERVER-2 START VT=9 SEAT=seat0
+
+# Daemon connects when X server is ready
+#?*XSERVER-2 INDICATE-READY
+#?XSERVER-2 INDICATE-READY
+#?XSERVER-2 ACCEPT-CONNECT
+
+# Old session is locked
+#?LOGIN1 LOCK-SESSION
+
+# New session starts
+#?SESSION-X-2 START XDG_SEAT=seat0 XDG_VTNR=9 XDG_GREETER_DATA_DIR=.*/no-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=no-password1
+#?XSERVER-2 ACCEPT-CONNECT
+#?SESSION-X-2 CONNECT-XSERVER
+
+# Switch to new session
+#?LOGIN1 ACTIVATE-SESSION SESSION=c2
+#?VT ACTIVATE VT=9
+
+# Switch back to first user
+#?*SWITCH-TO-USER USERNAME=have-password1
+#?RUNNER SWITCH-TO-USER USERNAME=have-password1
+
+# Which switches to greeter
+#?LOGIN1 LOCK-SESSION
+#?GREETER-X-0 RESET
+#?GREETER-X-0 SELECT-USER-HINT USERNAME=have-password1
+#?VT ACTIVATE VT=7
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+
+# Cleanup
+#?*STOP-DAEMON
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?SESSION-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
+#?SESSION-X-2 TERMINATE SIGNAL=15
+#?XSERVER-2 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
--- /dev/null
+#
+# Check that switching to a user and logging out the active session starts a greeter
+# Uses a resettable greeter
+#
+
+[SeatDefaults]
+user-session=default
+
+[test-greeter-config]
+resettable=true
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+#?*WAIT
+
+# 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
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
+
+# Log into account with a password
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+
+# Start new X server for session
+#?XSERVER-1 START VT=8 SEAT=seat0
+#?*XSERVER-1 INDICATE-READY
+#?XSERVER-1 INDICATE-READY
+#?XSERVER-1 ACCEPT-CONNECT
+#?VT ACTIVATE VT=8
+#?GREETER-X-0 IDLE
+
+# Session starts
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1
+#?LOGIN1 ACTIVATE-SESSION SESSION=c1
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 CONNECT-XSERVER
+
+# Switch user
+#?*SWITCH-TO-USER USERNAME=no-password2
+#?RUNNER SWITCH-TO-USER USERNAME=no-password2
+
+# New X server starts
+#?XSERVER-2 START VT=9 SEAT=seat0
+
+# Daemon connects when X server is ready
+#?*XSERVER-2 INDICATE-READY
+#?XSERVER-2 INDICATE-READY
+#?XSERVER-2 ACCEPT-CONNECT
+
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
+# Session starts
+#?SESSION-X-2 START XDG_SEAT=seat0 XDG_VTNR=9 XDG_GREETER_DATA_DIR=.*/no-password2 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=no-password2
+#?XSERVER-2 ACCEPT-CONNECT
+#?SESSION-X-2 CONNECT-XSERVER
+
+# Switch to new session
+#?LOGIN1 ACTIVATE-SESSION SESSION=c2
+#?VT ACTIVATE VT=9
+
+# Log out new session
+#?*SESSION-X-2 LOGOUT
+#?XSERVER-2 TERMINATE SIGNAL=15
+
+# Switch back to greeter
+#?VT ACTIVATE VT=7
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+
+# Cleanup
+#?*STOP-DAEMON
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?SESSION-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
--- /dev/null
+#
+# Check that switching to a user shows the greeter
+# Uses a resettable greeter
+#
+
+[SeatDefaults]
+user-session=default
+
+[test-greeter-config]
+resettable=true
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+#?*WAIT
+
+# 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
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
+
+# Log into account with a password
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+
+# Start new X server for session
+#?XSERVER-1 START VT=8 SEAT=seat0
+#?*XSERVER-1 INDICATE-READY
+#?XSERVER-1 INDICATE-READY
+#?XSERVER-1 ACCEPT-CONNECT
+#?VT ACTIVATE VT=8
+#?GREETER-X-0 IDLE
+
+# Session starts
+#?SESSION-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1
+#?LOGIN1 ACTIVATE-SESSION SESSION=c1
+#?XSERVER-1 ACCEPT-CONNECT
+#?SESSION-X-1 CONNECT-XSERVER
+
+# Switch to an account with a password
+#?*SWITCH-TO-USER USERNAME=have-password2
+#?RUNNER SWITCH-TO-USER USERNAME=have-password2
+
+# Switch to greeter
+#?LOGIN1 LOCK-SESSION
+#?GREETER-X-0 RESET
+#?VT ACTIVATE VT=7
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+
+# Requested user is automatically selected
+#?GREETER-X-0 SELECT-USER-HINT USERNAME=have-password2
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password2
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+
+# Cleanup
+#?*STOP-DAEMON
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?SESSION-X-1 TERMINATE SIGNAL=15
+#?XSERVER-1 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
g_signal_connect (lightdm_user_list_get_instance (), "user-removed", G_CALLBACK (user_removed_cb), NULL);
}
- if (g_key_file_get_boolean (config, "test-greeter-config", "resettable", NULL))
- {
- lightdm_greeter_set_resettable (greeter, TRUE);
- g_signal_connect (greeter, "idle", G_CALLBACK (idle_cb), NULL);
- g_signal_connect (greeter, "reset", G_CALLBACK (reset_cb), NULL);
- }
-
status_notify ("%s CONNECT-TO-DAEMON", greeter_id);
if (!lightdm_greeter_connect_sync (greeter, NULL))
{
status_notify ("%s CONNECTED-TO-DAEMON", greeter_id);
+ if (g_key_file_get_boolean (config, "test-greeter-config", "resettable", NULL))
+ {
+ lightdm_greeter_set_resettable (greeter, TRUE);
+ g_signal_connect (greeter, "idle", G_CALLBACK (idle_cb), NULL);
+ g_signal_connect (greeter, "reset", G_CALLBACK (reset_cb), NULL);
+ }
+
print_hints (greeter);
g_main_loop_run (loop);
LightDM.UserList.get_instance ().connect ('user-added', user_added_cb)
LightDM.UserList.get_instance ().connect ('user-removed', user_removed_cb)
+status_notify ('%s CONNECT-TO-DAEMON' % greeter_id)
+if not greeter.connect_sync ():
+ status_notify ('%s FAIL-CONNECT-DAEMON' % greeter_id)
+ exit (1)
+
+status_notify ('%s CONNECTED-TO-DAEMON' % greeter_id)
+
def idle_cb (greeter):
status_notify ('%s IDLE' % (greeter_id))
def reset_cb (greeter):
LightDM.Greeter.get_instance ().connect ('idle', idle_cb)
LightDM.Greeter.get_instance ().connect ('reset', reset_cb)
-status_notify ('%s CONNECT-TO-DAEMON' % greeter_id)
-if not greeter.connect_sync ():
- status_notify ('%s FAIL-CONNECT-DAEMON' % greeter_id)
- exit (1)
-
-status_notify ('%s CONNECTED-TO-DAEMON' % greeter_id)
-
print_hints (greeter)
loop.run ()
QObject::connect (users_model, SIGNAL(rowsAboutToBeRemoved(const QModelIndex&, int, int)), greeter, SLOT(userRowsRemoved(const QModelIndex&, int, int)));
}
- if (config->value ("test-greeter-config/resettable", "false") == "true")
- {
- greeter->setResettable (true);
- QObject::connect (greeter, SIGNAL(idle()), greeter, SLOT(idle()));
- QObject::connect (greeter, SIGNAL(reset()), greeter, SLOT(reset()));
- }
-
status_notify ("%s CONNECT-TO-DAEMON", greeter_id);
if (!greeter->connectSync())
{
status_notify ("%s CONNECTED-TO-DAEMON", greeter_id);
+ if (config->value ("test-greeter-config/resettable", "false") == "true")
+ {
+ greeter->setResettable (true);
+ QObject::connect (greeter, SIGNAL(idle()), greeter, SLOT(idle()));
+ QObject::connect (greeter, SIGNAL(reset()), greeter, SLOT(reset()));
+ }
+
greeter->printHints();
return app->exec();
--- /dev/null
+#!/bin/sh
+./src/dbus-env ./src/test-runner lock-seat-resettable test-gobject-greeter
--- /dev/null
+#!/bin/sh
+./src/dbus-env ./src/test-runner lock-session-resettable test-gobject-greeter
--- /dev/null
+#!/bin/sh
+./src/dbus-env ./src/test-runner switch-to-greeter-resettable test-gobject-greeter
--- /dev/null
+#!/bin/sh
+./src/dbus-env ./src/test-runner switch-to-guest-fail-resettable test-gobject-greeter
--- /dev/null
+#!/bin/sh
+./src/dbus-env ./src/test-runner switch-to-user-existing-resettable test-gobject-greeter
--- /dev/null
+#!/bin/sh
+./src/dbus-env ./src/test-runner switch-to-user-logout-active-resettable test-gobject-greeter
--- /dev/null
+#!/bin/sh
+./src/dbus-env ./src/test-runner switch-to-user-resettable test-gobject-greeter