Approved by PS Jenkins bot, Robert Ancell.
-Werror=format-security \
-Werror=format=2 \
-Werror=missing-include-dirs"
+ WARN_CXXFLAGS="-Wall"
fi
AC_SUBST(WARN_CFLAGS)
+AC_SUBST(WARN_CXXFLAGS)
GOBJECT_INTROSPECTION_CHECK(0.9.5)
Forwarded: not-needed
Author: Gunnar Hjalmarsson <gunnarhj@ubuntu.com>
-Index: trunk/liblightdm-gobject/language.c
+Index: xdg-seat/liblightdm-gobject/language.c
===================================================================
---- trunk.orig/liblightdm-gobject/language.c 2013-12-09 17:13:51.362244753 +1300
-+++ trunk/liblightdm-gobject/language.c 2013-12-09 17:13:51.298244756 +1300
+--- xdg-seat.orig/liblightdm-gobject/language.c 2014-02-05 14:22:08.711739102 +0000
++++ xdg-seat/liblightdm-gobject/language.c 2014-02-05 14:22:08.707739102 +0000
@@ -40,7 +40,7 @@
static void
update_languages (void)
gchar *stdout_text = NULL, *stderr_text = NULL;
gint exit_status;
gboolean result;
-Index: trunk/tests/scripts/language-env.conf
+Index: xdg-seat/tests/scripts/language-env.conf
===================================================================
---- trunk.orig/tests/scripts/language-env.conf 2013-12-09 17:13:51.362244753 +1300
-+++ trunk/tests/scripts/language-env.conf 2013-12-09 17:13:51.338244754 +1300
+--- xdg-seat.orig/tests/scripts/language-env.conf 2014-02-05 14:22:08.711739102 +0000
++++ xdg-seat/tests/scripts/language-env.conf 2014-02-05 14:22:08.707739102 +0000
@@ -22,8 +22,8 @@
#?SESSION-X-0 CONNECT-XSERVER
#?*SESSION-X-0 READ-ENV NAME=GDM_LANG
#?SESSION-X-0 READ-ENV NAME=GDM_LANG VALUE=en_AU
-Index: trunk/src/seat.c
+Index: xdg-seat/src/seat.c
===================================================================
---- trunk.orig/src/seat.c 2013-12-09 17:13:51.362244753 +1300
-+++ trunk/src/seat.c 2013-12-09 17:13:51.358244753 +1300
-@@ -842,7 +842,7 @@
+--- xdg-seat.orig/src/seat.c 2014-02-05 14:22:08.711739102 +0000
++++ xdg-seat/src/seat.c 2014-02-05 14:22:08.707739102 +0000
+@@ -854,7 +854,7 @@
session_set_env (session, "XDG_CURRENT_DESKTOP", desktop_name);
if (language && language[0] != '\0')
{
"Project-Id-Version: lightdm\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2007-05-31 08:04+0200\n"
-"PO-Revision-Date: 2011-07-24 19:45+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2014-02-07 04:54+0000\n"
+"Last-Translator: Walter Cheuk <wwycheuk@gmail.com>\n"
"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-29 05:32+0000\n"
+"X-Launchpad-Export-Date: 2014-02-08 06:58+0000\n"
"X-Generator: Launchpad (build 16916)\n"
#. Type: select
#. Description
#: ../lightdm.templates:2001
msgid "Default display manager:"
-msgstr ""
+msgstr "預設顯示管理員:"
#. Type: select
#. Description
$(common_libadd)
common_cflags = \
+ $(WARN_CXXFLAGS) \
-I$(top_srcdir)/liblightdm-gobject \
$(GLIB_CFLAGS) \
-DQT_NO_KEYWORDS \
GreeterPrivate *that = static_cast<GreeterPrivate*>(data);
QString message = QString::fromUtf8(text);
- //FIXME prompt type
-
- Q_EMIT that->q_func()->showPrompt(message, Greeter::PromptTypeSecret);
+ Q_EMIT that->q_func()->showPrompt(message, type == LIGHTDM_PROMPT_TYPE_QUESTION ?
+ Greeter::PromptTypeQuestion : Greeter::PromptTypeSecret);
}
void GreeterPrivate::cb_showMessage(LightDMGreeter *greeter, const gchar *text, LightDMMessageType type, gpointer data)
GreeterPrivate *that = static_cast<GreeterPrivate*>(data);
QString message = QString::fromUtf8(text);
- //FIXME prompt type
-
- Q_EMIT that->q_func()->showMessage(message, Greeter::MessageTypeInfo);
+ Q_EMIT that->q_func()->showMessage(message, type == LIGHTDM_MESSAGE_TYPE_INFO ?
+ Greeter::MessageTypeInfo : Greeter::MessageTypeError);
}
void GreeterPrivate::cb_authenticationComplete(LightDMGreeter *greeter, gpointer data)
xdmcp-session-private.h
lightdm_CFLAGS = \
- $(LIGHTDM_CFLAGS) \
$(WARN_CFLAGS) \
+ $(LIGHTDM_CFLAGS) \
-DSBIN_DIR=\"$(sbindir)\" \
-DCONFIG_DIR=\"$(sysconfdir)/lightdm\" \
-DLOG_DIR=\"$(localstatedir)/log/lightdm\" \
dm-tool.c
dm_tool_CFLAGS = \
+ $(WARN_CFLAGS) \
$(LIGHTDM_CFLAGS) \
-DCONFIG_DIR=\"$(sysconfdir)/lightdm\" \
-DLOCALE_DIR=\"$(datadir)/locale\"
lightdm_guest_session_SOURCES = lightdm-guest-session.c
lightdm_guest_session_CFLAGS = \
- $(LIGHTDM_CFLAGS) \
- $(WARN_CFLAGS)
+ $(WARN_CFLAGS) \
+ $(LIGHTDM_CFLAGS)
EXTRA_DIST = \
display-manager.xml
static GPid xephyr_pid;
static void
-usage ()
+usage (void)
{
g_printerr (/* Text printed out when an unknown command-line argument provided */
_("Run 'dm-tool --help' to see a full list of available command line options."));
exit (EXIT_SUCCESS);
}
-GDBusProxy *
+static GDBusProxy *
get_seat_proxy (void)
{
GError *error = NULL;
}
else if (strcmp (command, "list-seats") == 0)
{
- GVariant *seats, *sessions;
+ GVariant *seats;
GVariantIter *seat_iter;
gchar *seat_path;
seat_surfaceflinger_create_greeter_session (Seat *seat)
{
Greeter *greeter_session;
- const gchar *xdg_seat;
greeter_session = SEAT_CLASS (seat_surfaceflinger_parent_class)->create_greeter_session (seat);
- xdg_seat = seat_get_string_property (seat, "xdg-seat");
- if (!xdg_seat)
- xdg_seat = "seat0";
- session_set_env (SESSION (greeter_session), "XDG_SEAT", xdg_seat);
+ session_set_env (SESSION (greeter_session), "XDG_SEAT", seat_get_name (seat));
/* Fake the VT */
- session_set_env (SESSION (greeter_session), "XDG_VTNR", vt_can_multi_seat() ? "1" : "0");
+ session_set_env (SESSION (greeter_session), "XDG_VTNR", vt_can_multi_seat () ? "1" : "0");
return greeter_session;
}
seat_surfaceflinger_create_session (Seat *seat)
{
Session *session;
- const gchar *xdg_seat;
session = SEAT_CLASS (seat_surfaceflinger_parent_class)->create_session (seat);
- xdg_seat = seat_get_string_property (seat, "xdg-seat");
- if (!xdg_seat)
- xdg_seat = "seat0";
- session_set_env (session, "XDG_SEAT", xdg_seat);
+ session_set_env (session, "XDG_SEAT", seat_get_name (seat));
/* Fake the VT */
- session_set_env (session, "XDG_VTNR", vt_can_multi_seat() ? "1" : "0");
+ session_set_env (session, "XDG_VTNR", vt_can_multi_seat () ? "1" : "0");
return session;
}
create_x_server (Seat *seat)
{
XServerLocal *x_server;
- const gchar *command = NULL, *layout = NULL, *config_file = NULL, *xdmcp_manager = NULL, *key_name = NULL, *xdg_seat = NULL;
+ const gchar *command = NULL, *layout = NULL, *config_file = NULL, *xdmcp_manager = NULL, *key_name = NULL;
gboolean allow_tcp;
gint port = 0;
gchar *id;
if (layout)
x_server_local_set_layout (x_server, layout);
- xdg_seat = seat_get_string_property (seat, "xdg-seat");
- if (xdg_seat)
- x_server_local_set_xdg_seat (x_server, xdg_seat);
+ x_server_local_set_xdg_seat (x_server, seat_get_name (seat));
config_file = seat_get_string_property (seat, "xserver-config");
if (config_file)
seat_unity_create_greeter_session (Seat *seat)
{
Greeter *greeter_session;
- const gchar *xdg_seat;
gchar *id;
gint vt;
greeter_session = SEAT_CLASS (seat_unity_parent_class)->create_greeter_session (seat);
- xdg_seat = seat_get_string_property (seat, "xdg-seat");
- if (!xdg_seat)
- xdg_seat = "seat0";
- l_debug (seat, "Setting XDG_SEAT=%s", xdg_seat);
- session_set_env (SESSION (greeter_session), "XDG_SEAT", xdg_seat);
+ session_set_env (SESSION (greeter_session), "XDG_SEAT", seat_get_name (seat));
id = g_strdup_printf ("greeter-%d", SEAT_UNITY (seat)->priv->next_greeter_id);
SEAT_UNITY (seat)->priv->next_greeter_id++;
if (vt >= 0)
{
gchar *value = g_strdup_printf ("%d", vt);
- l_debug (seat, "Setting XDG_VTNR=%s", value);
session_set_env (SESSION (greeter_session), "XDG_VTNR", value);
g_free (value);
}
- else
- l_debug (seat, "Not setting XDG_VTNR");
return greeter_session;
}
seat_unity_create_session (Seat *seat)
{
Session *session;
- const gchar *xdg_seat;
gchar *id;
gint vt;
session = SEAT_CLASS (seat_unity_parent_class)->create_session (seat);
- xdg_seat = seat_get_string_property (seat, "xdg-seat");
- if (!xdg_seat)
- xdg_seat = "seat0";
- l_debug (seat, "Setting XDG_SEAT=%s", xdg_seat);
- session_set_env (session, "XDG_SEAT", xdg_seat);
+ session_set_env (session, "XDG_SEAT", seat_get_name (seat));
id = g_strdup_printf ("session-%d", SEAT_UNITY (seat)->priv->next_session_id);
SEAT_UNITY (seat)->priv->next_session_id++;
if (vt >= 0)
{
gchar *value = g_strdup_printf ("%d", vt);
- l_debug (seat, "Setting XDG_VTNR=%s", value);
session_set_env (SESSION (session), "XDG_VTNR", value);
g_free (value);
}
- else
- l_debug (seat, "Not setting XDG_VTNR");
return session;
}
create_x_server (Seat *seat)
{
XServerLocal *x_server;
- const gchar *command = NULL, *layout = NULL, *config_file = NULL, *xdmcp_manager = NULL, *key_name = NULL, *xdg_seat = NULL;
+ const gchar *command = NULL, *layout = NULL, *config_file = NULL, *xdmcp_manager = NULL, *key_name = NULL;
gboolean allow_tcp;
gint vt, port = 0;
layout = seat_get_string_property (seat, "xserver-layout");
if (layout)
x_server_local_set_layout (x_server, layout);
-
- xdg_seat = seat_get_string_property (seat, "xdg-seat");
- if (xdg_seat)
- x_server_local_set_xdg_seat (x_server, xdg_seat);
+
+ x_server_local_set_xdg_seat (x_server, seat_get_name (seat));
config_file = seat_get_string_property (seat, "xserver-config");
if (config_file)
seat_xlocal_create_greeter_session (Seat *seat)
{
Greeter *greeter_session;
- const gchar *xdg_seat;
greeter_session = SEAT_CLASS (seat_xlocal_parent_class)->create_greeter_session (seat);
- xdg_seat = seat_get_string_property (seat, "xdg-seat");
- if (!xdg_seat)
- xdg_seat = "seat0";
- l_debug (seat, "Setting XDG_SEAT=%s", xdg_seat);
- session_set_env (SESSION (greeter_session), "XDG_SEAT", xdg_seat);
+ session_set_env (SESSION (greeter_session), "XDG_SEAT", seat_get_name (seat));
return greeter_session;
}
seat_xlocal_create_session (Seat *seat)
{
Session *session;
- const gchar *xdg_seat;
session = SEAT_CLASS (seat_xlocal_parent_class)->create_session (seat);
- xdg_seat = seat_get_string_property (seat, "xdg-seat");
- if (!xdg_seat)
- xdg_seat = "seat0";
- l_debug (seat, "Setting XDG_SEAT=%s", xdg_seat);
- session_set_env (SESSION (session), "XDG_SEAT", xdg_seat);
+ session_set_env (SESSION (session), "XDG_SEAT", seat_get_name (seat));
return session;
}
seat_xremote_create_greeter_session (Seat *seat)
{
Greeter *greeter_session;
- const gchar *xdg_seat;
greeter_session = SEAT_CLASS (seat_xremote_parent_class)->create_greeter_session (seat);
- xdg_seat = seat_get_string_property (seat, "xdg-seat");
- if (!xdg_seat)
- xdg_seat = "seat0";
- l_debug (seat, "Setting XDG_SEAT=%s", xdg_seat);
- session_set_env (SESSION (greeter_session), "XDG_SEAT", xdg_seat);
+ session_set_env (SESSION (greeter_session), "XDG_SEAT", seat_get_name (seat));
return greeter_session;
}
seat_xremote_create_session (Seat *seat)
{
Session *session;
- const gchar *xdg_seat;
session = SEAT_CLASS (seat_xremote_parent_class)->create_session (seat);
- xdg_seat = seat_get_string_property (seat, "xdg-seat");
- if (!xdg_seat)
- xdg_seat = "seat0";
- l_debug (seat, "Setting XDG_SEAT=%s", xdg_seat);
- session_set_env (SESSION (session), "XDG_SEAT", xdg_seat);
+ session_set_env (SESSION (session), "XDG_SEAT", seat_get_name (seat));
return session;
}
return value ? atoi (value) : 0;
}
+const gchar *
+seat_get_name (Seat *seat)
+{
+ const gchar *name;
+
+ name = seat_get_string_property (seat, "xdg-seat");
+ if (name)
+ return name;
+
+ return "seat0";
+}
+
void
seat_set_can_switch (Seat *seat, gboolean can_switch)
{
gint seat_get_integer_property (Seat *seat, const gchar *name);
+const gchar *seat_get_name (Seat *seat);
+
void seat_set_can_switch (Seat *seat, gboolean can_switch);
void seat_set_share_display_server (Seat *seat, gboolean share_display_server);
if (authentication_result == PAM_SUCCESS)
authentication_result = pam_acct_mgmt (pam_handle, 0);
if (authentication_result == PAM_NEW_AUTHTOK_REQD)
- authentication_result = pam_chauthtok (pam_handle, 0);
+ authentication_result = pam_chauthtok (pam_handle, PAM_CHANGE_EXPIRED_AUTHTOK);
}
else
authentication_result = PAM_SUCCESS;
g_free (t);
t = g_strdup_printf ("%d", vt);
- l_debug (session, "Setting XDG_VTNR=%s", t);
session_set_env (session, "XDG_VTNR", t);
g_free (t);
}
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# Greeter starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECTED-TO-DAEMON
# Guest session starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
#?*XSERVER-1 INDICATE-READY
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?GUEST-ACCOUNT REMOVE USERNAME=guest-.*
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# Greeter starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECTED-TO-DAEMON
# Autologin session starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
#?*XSERVER-1 INDICATE-READY
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
# (fails to start session for invalid user)
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# Greeter starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECTED-TO-DAEMON
# Autologin session starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
#?*XSERVER-1 INDICATE-READY
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# XServer starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?SESSION-X-0 TERMINATE SIGNAL=15
# X server restarts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?GREETER-X-0 TERMINATE SIGNAL=15
# X server restarts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?SESSION-X-0 LOCK-SEAT
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?SESSION-X-0 LOCK-SEAT
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?SESSION-X-0 LOCK-SEAT
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?SESSION-X-0 LOCK-SEAT
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?SESSION-X-0 LOCK-SESSION
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?SESSION-X-0 LOCK-SESSION
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?SESSION-X-0 LOCK-SESSION
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?GUEST-ACCOUNT REMOVE USERNAME=guest-.*
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
# Log into account that requires as password change
#?*GREETER-X-0 AUTHENTICATE USERNAME=new-authtok
-#?GREETER-X-0 SHOW-PROMPT TEXT="Enter new password:"
+#?GREETER-X-0 SHOW-PROMPT TEXT="Enter new password \(expired\):"
#?*GREETER-X-0 RESPOND TEXT="New password"
#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=new-authtok AUTHENTICATED=TRUE
#?*GREETER-X-0 START-SESSION
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# XServer starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?SESSION-X-0 TERMINATE SIGNAL=15
# X server restarts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# One X server should start by default
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?PLYMOUTH DEACTIVATE
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?PLYMOUTH PING ACTIVE=TRUE
#?PLYMOUTH HAS-ACTIVE-VT=FALSE
#?PLYMOUTH QUIT RETAIN-SPLASH=FALSE
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# One X server should start by default
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# One X server should start by default
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# One X server should start by default
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# One X server should start by default
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?SCRIPT-HOOK DISPLAY-STOPPED
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
# Restart session
#?*SESSION-X-0 LOGOUT
#?XSERVER-0 TERMINATE SIGNAL=15
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
# Restart session
#?*SESSION-X-0 LOGOUT
#?XSERVER-0 TERMINATE SIGNAL=15
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER SWITCH-TO-GREETER
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER SWITCH-TO-GREETER
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER SWITCH-TO-GREETER
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER SWITCH-TO-GREETER
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?*WAIT
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER SWITCH-TO-GUEST
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?*WAIT
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?*WAIT
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER SWITCH-TO-USER USERNAME=no-password2
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?*WAIT
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER SWITCH-TO-USER USERNAME=no-password1
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?RUNNER SWITCH-TO-USER USERNAME=have-password1
# X server starts
-#?XSERVER-2 START VT=9
+#?XSERVER-2 START VT=9 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-2 INDICATE-READY
#?*WAIT
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER SWITCH-TO-USER USERNAME=no-password2
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?XSERVER-1 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?*WAIT
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER SWITCH-TO-USER USERNAME=no-password2
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?*WAIT
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER SWITCH-TO-USER USERNAME=no-password1
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?*WAIT
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER SWITCH-TO-USER USERNAME=have-password1
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?*WAIT
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER SWITCH-TO-USER USERNAME=no-password1
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?RUNNER SWITCH-TO-USER USERNAME=no-password2
# New X server starts
-#?XSERVER-2 START VT=9
+#?XSERVER-2 START VT=9 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-2 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?*UNITY-SYSTEM-COMPOSITOR READY
# X server starts
-#?XSERVER-0 START MIR-ID=x-0
+#?XSERVER-0 START SEAT=seat0 MIR-ID=x-0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?*UNITY-SYSTEM-COMPOSITOR READY
# X server starts
-#?XSERVER-0 START MIR-ID=x-0
+#?XSERVER-0 START SEAT=seat0 MIR-ID=x-0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?UNITY-SYSTEM-COMPOSITOR EXIT CODE=1
# X server starts in VT mode
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?*UNITY-SYSTEM-COMPOSITOR READY
# Greeter session
-#?XSERVER-0 START MIR-ID=x-0
+#?XSERVER-0 START SEAT=seat0 MIR-ID=x-0
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECTED-TO-DAEMON
# Background session
-#?XSERVER-1 START MIR-ID=x-1
+#?XSERVER-1 START SEAT=seat0 MIR-ID=x-1
#?*XSERVER-1 INDICATE-READY
#?XSERVER-1 INDICATE-READY
#?XSERVER-1 ACCEPT-CONNECT
#?*UNITY-SYSTEM-COMPOSITOR READY
# X server starts
-#?XSERVER-0 START MIR-ID=x-0
+#?XSERVER-0 START SEAT=seat0 MIR-ID=x-0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?*GREETER-MIR-greeter-0 START-SESSION
# X server starts
-#?XSERVER-0 START MIR-ID=x-0
+#?XSERVER-0 START SEAT=seat0 MIR-ID=x-0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?*UNITY-SYSTEM-COMPOSITOR READY
# X server starts
-#?XSERVER-0 START MIR-ID=x-0
+#?XSERVER-0 START SEAT=seat0 MIR-ID=x-0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?*UNITY-SYSTEM-COMPOSITOR READY
# X server starts
-#?XSERVER-0 START MIR-ID=x-0
+#?XSERVER-0 START SEAT=seat0 MIR-ID=x-0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?*UNITY-SYSTEM-COMPOSITOR READY
# X server starts
-#?XSERVER-0 START MIR-ID=x-0
+#?XSERVER-0 START SEAT=seat0 MIR-ID=x-0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER SWITCH-TO-GREETER
# New X server starts
-#?XSERVER-1 START MIR-ID=x-1
+#?XSERVER-1 START SEAT=seat0 MIR-ID=x-1
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?XSERVER-1 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-2 START MIR-ID=x-2
+#?XSERVER-2 START SEAT=seat0 MIR-ID=x-2
#?*XSERVER-2 INDICATE-READY
#?XSERVER-2 INDICATE-READY
#?XSERVER-2 ACCEPT-CONNECT
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER SWITCH-TO-GREETER
# New X server starts
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 TERMINATE SIGNAL=15
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
#?RUNNER DAEMON-START
# X server fails to start
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
#?XSERVER-0 EXIT CODE=1
# Daemon stops with error
#?RUNNER DAEMON-START
# X server starts
-#?XSERVER-0 START VT=7
+#?XSERVER-0 START VT=7 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-0 INDICATE-READY
#?*GREETER-X-0 START-SESSION
# New X server starts for session
-#?XSERVER-1 START VT=8
+#?XSERVER-1 START VT=8 SEAT=seat0
# Daemon connects when X server is ready
#?*XSERVER-1 INDICATE-READY
libsystem_la_SOURCES = libsystem.c status.c status.h
libsystem_la_CFLAGS = \
+ $(WARN_CFLAGS) \
$(GLIB_CFLAGS) \
$(GIO_UNIX_CFLAGS) \
-DSRCDIR=\"$(abs_top_srcdir)\" \
nodist_test_qt4_greeter_SOURCES = test-qt4-greeter_moc4.cpp
nodist_test_qt5_greeter_SOURCES = test-qt5-greeter_moc5.cpp
common_qt_cflags = \
+ $(WARN_CXXFLAGS) \
$(GLIB_CFLAGS) \
$(GIO_UNIX_CFLAGS) \
$(XCB_CFLAGS)
+#define _GNU_SOURCE
+#define __USE_GNU
+
#include <stdlib.h>
+#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <sys/ioctl.h>
#include <pwd.h>
#include <unistd.h>
#include <dirent.h>
#include <grp.h>
#include <security/pam_appl.h>
#include <fcntl.h>
-#define __USE_GNU
#include <dlfcn.h>
+#include <utmpx.h>
#ifdef __linux__
#include <linux/vt.h>
#endif
#include <xcb/xcb.h>
#include <gio/gunixsocketaddress.h>
+#include "status.h"
+
#define LOGIN_PROMPT "login:"
static int console_fd = -1;
static gchar *
redirect_path (const gchar *path)
{
- size_t offset;
- gboolean matches;
-
// Don't redirect if inside the running directory
if (g_str_has_prefix (path, g_getenv ("LIGHTDM_TEST_ROOT")))
return g_strdup (path);
}
int
-stat64 (const char *path, struct stat *buf)
+stat64 (const char *path, struct stat64 *buf)
{
- int (*_stat64) (const char *path, struct stat *buf);
+ int (*_stat64) (const char *path, struct stat64 *buf);
gchar *new_path = NULL;
int ret;
- _stat64 = (int (*)(const char *path, struct stat *buf)) dlsym (RTLD_NEXT, "stat64");
+ _stat64 = (int (*)(const char *path, struct stat64 *buf)) dlsym (RTLD_NEXT, "stat64");
new_path = redirect_path (path);
ret = _stat64 (new_path, buf);
}
int
-__xstat64 (int version, const char *path, struct stat *buf)
+__xstat64 (int version, const char *path, struct stat64 *buf)
{
- int (*___xstat64) (int version, const char *path, struct stat *buf);
+ int (*___xstat64) (int version, const char *path, struct stat64 *buf);
gchar *new_path = NULL;
int ret;
- ___xstat64 = (int (*)(int version, const char *path, struct stat *buf)) dlsym (RTLD_NEXT, "__xstat64");
+ ___xstat64 = (int (*)(int version, const char *path, struct stat64 *buf)) dlsym (RTLD_NEXT, "__xstat64");
new_path = redirect_path (path);
ret = ___xstat64 (version, new_path, buf);
}
int
-ioctl (int d, int request, void *data)
+ioctl (int d, unsigned long request, ...)
{
- int (*_ioctl) (int d, int request, void *data);
+ int (*_ioctl) (int d, int request, ...);
- _ioctl = (int (*)(int d, int request, void *data)) dlsym (RTLD_NEXT, "ioctl");
+ _ioctl = (int (*)(int d, int request, ...)) dlsym (RTLD_NEXT, "ioctl");
if (d > 0 && d == console_fd)
{
struct vt_stat *console_state;
- int *n;
int vt;
+ va_list ap;
switch (request)
{
case VT_GETSTATE:
- console_state = data;
+ va_start (ap, request);
+ console_state = va_arg (ap, struct vt_stat *);
+ va_end (ap);
console_state->v_active = active_vt;
break;
case VT_ACTIVATE:
- vt = GPOINTER_TO_INT (data);
+ va_start (ap, request);
+ vt = va_arg (ap, int);
+ va_end (ap);
if (vt != active_vt)
{
active_vt = vt;
return 0;
}
else
+ {
+ va_list ap;
+ void *data;
+
+ va_start (ap, request);
+ data = va_arg (ap, void *);
+ va_end (ap);
return _ioctl (d, request, data);
+ }
}
int
}
static void
-load_passwd_file ()
+load_passwd_file (void)
{
gchar *path, *data = NULL, **lines;
gint i;
}
static void
-load_group_file ()
+load_group_file (void)
{
gchar *path, *data = NULL, **lines;
gint i;
msg = malloc (sizeof (struct pam_message *) * 1);
msg[0] = malloc (sizeof (struct pam_message));
msg[0]->msg_style = PAM_PROMPT_ECHO_OFF;
- msg[0]->msg = "Enter new password:";
+ if ((flags & PAM_CHANGE_EXPIRED_AUTHTOK) != 0)
+ msg[0]->msg = "Enter new password (expired):";
+ else
+ msg[0]->msg = "Enter new password:";
result = pamh->conversation.conv (1, (const struct pam_message **) msg, &resp, pamh->conversation.appdata_ptr);
free (msg[0]);
free (msg);
{
}
-struct utmp *
-pututxline (struct utmp *ut)
+struct utmpx *
+pututxline (const struct utmpx *ut)
{
- return ut;
+ return (struct utmpx *)ut;
}
void