g_signal_connect (greeter_session, "stopped", G_CALLBACK (session_stopped_cb), seat);
set_session_env (SESSION (greeter_session));
+ session_set_env (SESSION (greeter_session), "XDG_SESSION_CLASS", XDG_SESSION_CLASS_GREETER);
session_set_pam_service (SESSION (greeter_session), GREETER_SERVICE);
if (getuid () == 0)
gchar *authentication_result_string;
gchar *service;
gchar *username;
- gchar *class;
gchar *tty;
gchar *remote_host_name;
gchar *xdisplay;
username = read_string ();
read_data (&do_authenticate, sizeof (do_authenticate));
read_data (&is_interactive, sizeof (is_interactive));
- class = read_string ();
+ read_string (); /* Used to be class, now we just use the environment variable */
tty = read_string ();
remote_host_name = read_string ();
xdisplay = read_string ();
g_variant_builder_init (&ck_parameters, G_VARIANT_TYPE ("(a(sv))"));
g_variant_builder_open (&ck_parameters, G_VARIANT_TYPE ("a(sv)"));
g_variant_builder_add (&ck_parameters, "(sv)", "unix-user", g_variant_new_int32 (user_get_uid (user)));
- if (g_strcmp0 (class, XDG_SESSION_CLASS_GREETER) == 0)
+ if (g_strcmp0 (pam_getenv (pam_handle, "XDG_SESSION_CLASS"), XDG_SESSION_CLASS_GREETER) == 0)
g_variant_builder_add (&ck_parameters, "(sv)", "session-type", g_variant_new_string ("LoginWindow"));
if (xdisplay)
{
if (child_pid > 0)
{
/* Log to utmp */
- if (g_strcmp0 (class, XDG_SESSION_CLASS_GREETER) != 0)
+ if (g_strcmp0 (pam_getenv (pam_handle, "XDG_SESSION_CLASS"), XDG_SESSION_CLASS_GREETER) != 0)
{
struct utmpx ut;
struct timeval tv;
child_pid = 0;
/* Log to utmp */
- if (g_strcmp0 (class, XDG_SESSION_CLASS_GREETER) != 0)
+ if (g_strcmp0 (pam_getenv (pam_handle, "XDG_SESSION_CLASS"), XDG_SESSION_CLASS_GREETER) != 0)
{
struct utmpx ut;
struct timeval tv;
/* File to log to */
gchar *log_filename;
- /* Seat class */
- gchar *class;
-
/* tty this session is running on */
gchar *tty;
session->priv->log_filename = g_strdup (filename);
}
-void
-session_set_class (Session *session, const gchar *class)
-{
- g_return_if_fail (session != NULL);
- g_free (session->priv->class);
- session->priv->class = g_strdup (class);
-}
-
void
session_set_display_server (Session *session, DisplayServer *display_server)
{
write_string (session, session->priv->username);
write_data (session, &session->priv->do_authenticate, sizeof (session->priv->do_authenticate));
write_data (session, &session->priv->is_interactive, sizeof (session->priv->is_interactive));
- write_string (session, session->priv->class);
+ write_string (session, NULL); /* Used to be class, now we just use the environment variable */
write_string (session, session->priv->tty);
write_string (session, session->priv->remote_host_name);
write_string (session, session->priv->xdisplay);
g_free (self->priv->messages);
g_free (self->priv->authentication_result_string);
g_free (self->priv->log_filename);
- g_free (self->priv->class);
g_free (self->priv->tty);
g_free (self->priv->xdisplay);
if (self->priv->x_authority)
# (guest account attempts to start and fails)
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
# (session fails to start)
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
# (Session fails)
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
# (Session fails)
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
# (authentication crashes)
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
# (Session fails)
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
# (Session fails)
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter fails to start
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter
#?GREETER-X-0 EXIT CODE=1
# X server stopped
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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-WRAPPER-X-0 START
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?CONSOLE-KIT LOCK-SESSION
# Greeter starts
-#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_COOKIE=ck-cookie-x:1
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_COOKIE=ck-cookie-x:1 XDG_SESSION_CLASS=greeter
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
#?CONSOLE-KIT LOCK-SESSION
# Greeter starts
-#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_COOKIE=ck-cookie-x:1
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_COOKIE=ck-cookie-x:1 XDG_SESSION_CLASS=greeter
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
#?LOGIN1 LOCK-SESSION
# Greeter starts
-#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_CLASS=greeter
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
#?LOGIN1 LOCK-SESSION
# Greeter starts
-#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_CLASS=greeter
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
#?LOGIN1 LOCK-SESSION
# Greeter starts with session user selected
-#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_CLASS=greeter
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts with session user selected
-#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_CLASS=greeter
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
#?LOGIN1 LOCK-SESSION
# Greeter starts with session user selected
-#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_CLASS=greeter
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
# (guest account attempts to start and fails)
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?PLYMOUTH QUIT RETAIN-SPLASH=TRUE
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_COOKIE=ck-cookie-x:0
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_COOKIE=ck-cookie-x:0 XDG_SESSION_CLASS=greeter
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?SCRIPT-HOOK SESSION-SETUP
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?SCRIPT-HOOK GREETER-SETUP
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?LOGIN1 LOCK-SESSION
# Greeter starts
-#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_CLASS=greeter
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
#?LOGIN1 LOCK-SESSION
# Greeter starts
-#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_CLASS=greeter
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?LOGIN1 LOCK-SESSION
# Greeter starts
-#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_CLASS=greeter
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
#?LOGIN1 LOCK-SESSION
# Greeter starts
-#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_CLASS=greeter
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
#?XSERVER-2 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-2 START XDG_SEAT=seat0 XDG_VTNR=9
+#?GREETER-X-2 START XDG_SEAT=seat0 XDG_VTNR=9 XDG_SESSION_CLASS=greeter
#?XSERVER-2 ACCEPT-CONNECT
#?GREETER-X-2 CONNECT-XSERVER
#?GREETER-X-2 CONNECT-TO-DAEMON
#?XSERVER-1 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_CLASS=greeter
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
#?LOGIN1 LOCK-SESSION
# Greeter starts
-#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_CLASS=greeter
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?*XSERVER-0 INDICATE-READY
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?*UNITY-SYSTEM-COMPOSITOR READY
# Greeter starts
-#?GREETER-MIR-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?GREETER-MIR-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter
#?GREETER-MIR-0 CONNECT-TO-DAEMON
#?GREETER-MIR-0 CONNECTED-TO-DAEMON
#?*UNITY-SYSTEM-COMPOSITOR READY
# Greeter starts
-#?GREETER-MIR-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?GREETER-MIR-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter
#?GREETER-MIR-0 CONNECT-TO-DAEMON
#?GREETER-MIR-0 CONNECTED-TO-DAEMON
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?LOGIN1 LOCK-SESSION
# Greeter starts
-#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=7
+#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter
#?XSERVER-1 ACCEPT-CONNECT
#?GREETER-X-1 CONNECT-XSERVER
#?GREETER-X-1 CONNECT-TO-DAEMON
#?XSERVER-2 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-2 START XDG_SEAT=seat0 XDG_VTNR=7
+#?GREETER-X-2 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter
#?XSERVER-2 ACCEPT-CONNECT
#?GREETER-X-2 CONNECT-XSERVER
#?GREETER-X-2 CONNECT-TO-DAEMON
#?INIT -q emit login-session-start DISPLAY_MANAGER=lightdm
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
# (fails to start session for invalid user)
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
#?XSERVER-0 VNC-CLIENT-CONNECT VERSION="RFB 003.003"
# Greeter starts and connects to remote X server
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SESSION_CLASS=greeter
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
#?XSERVER-0 VNC-CLIENT-CONNECT VERSION="RFB 003.003"
# Greeter starts and connects to remote X server
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SESSION_CLASS=greeter
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
#?XSERVER-0 VNC-CLIENT-CONNECT VERSION="RFB 003.003"
# Greeter starts and connects to remote X server
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SESSION_CLASS=greeter
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
#?XSERVER-0 VNC-CLIENT-CONNECT VERSION="RFB 003.003"
# Greeter starts and connects to remote X server
-#?GREETER-X-0 START
+#?GREETER-X-0 START XDG_SESSION_CLASS=greeter
#?XSERVER-0 ACCEPT-CONNECT
#?GREETER-X-0 CONNECT-XSERVER
#?GREETER-X-0 CONNECT-TO-DAEMON
#?XSERVER-98 ACCEPT-CONNECT
# Greeter starts and connects to remote X server
-#?GREETER-X-127.0.0.1:98 START
+#?GREETER-X-127.0.0.1:98 START XDG_SESSION_CLASS=greeter
#?XSERVER-98 ACCEPT-CONNECT
#?GREETER-X-127.0.0.1:98 CONNECT-XSERVER
#?GREETER-X-127.0.0.1:98 CONNECT-TO-DAEMON
#?XSERVER-98 ACCEPT-CONNECT
# Greeter starts and connects to remote X server
-#?GREETER-X-127.0.0.1:98 START
+#?GREETER-X-127.0.0.1:98 START XDG_SESSION_CLASS=greeter
#?XSERVER-98 ACCEPT-CONNECT
#?GREETER-X-127.0.0.1:98 CONNECT-XSERVER
#?GREETER-X-127.0.0.1:98 CONNECT-TO-DAEMON
#?XSERVER-0 ACCEPT-CONNECT
# Greeter starts
-#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7
+#?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
int
main (int argc, char **argv)
{
- gchar *display, *xdg_seat, *xdg_vtnr, *xdg_session_cookie, *mir_socket, *mir_vt, *mir_id;
+ gchar *display, *xdg_seat, *xdg_vtnr, *xdg_session_cookie, *xdg_session_class, *mir_socket, *mir_vt, *mir_id;
GString *status_text;
#if !defined(GLIB_VERSION_2_36)
xdg_seat = getenv ("XDG_SEAT");
xdg_vtnr = getenv ("XDG_VTNR");
xdg_session_cookie = getenv ("XDG_SESSION_COOKIE");
+ xdg_session_class = getenv ("XDG_SESSION_CLASS");
mir_socket = getenv ("MIR_SOCKET");
mir_vt = getenv ("MIR_SERVER_VT");
mir_id = getenv ("MIR_ID");
g_string_append_printf (status_text, " XDG_VTNR=%s", xdg_vtnr);
if (xdg_session_cookie)
g_string_append_printf (status_text, " XDG_SESSION_COOKIE=%s", xdg_session_cookie);
+ if (xdg_session_class)
+ g_string_append_printf (status_text, " XDG_SESSION_CLASS=%s", xdg_session_class);
if (mir_vt > 0)
g_string_append_printf (status_text, " MIR_SERVER_VT=%s", mir_vt);
status_notify (status_text->str);
xdg_seat = os.getenv ('XDG_SEAT');
xdg_vtnr = os.getenv ('XDG_VTNR');
xdg_session_cookie = os.getenv ('XDG_SESSION_COOKIE');
+xdg_session_class = os.getenv ('XDG_SESSION_CLASS');
if display is not None:
if display.startswith (':'):
greeter_id = 'GREETER-X-%s' % display[1:]
status_text += ' XDG_VTNR=%s' % xdg_vtnr
if xdg_session_cookie is not None:
status_text += ' XDG_SESSION_COOKIE=%s' % xdg_session_cookie
+if xdg_session_class is not None:
+ status_text += ' XDG_SESSION_CLASS=%s' % xdg_session_class
status_notify (status_text)
config = GLib.KeyFile ()
int
main(int argc, char *argv[])
{
- gchar *display, *xdg_seat, *xdg_vtnr, *xdg_session_cookie;
+ gchar *display, *xdg_seat, *xdg_vtnr, *xdg_session_cookie, *xdg_session_class;
GString *status_text;
#if !defined(GLIB_VERSION_2_36)
xdg_seat = getenv ("XDG_SEAT");
xdg_vtnr = getenv ("XDG_VTNR");
xdg_session_cookie = getenv ("XDG_SESSION_COOKIE");
+ xdg_session_class = getenv ("XDG_SESSION_CLASS");
if (display)
{
if (display[0] == ':')
g_string_append_printf (status_text, " XDG_VTNR=%s", xdg_vtnr);
if (xdg_session_cookie)
g_string_append_printf (status_text, " XDG_SESSION_COOKIE=%s", xdg_session_cookie);
+ if (xdg_session_class)
+ g_string_append_printf (status_text, " XDG_SESSION_CLASS=%s", xdg_session_class);
status_notify (status_text->str);
g_string_free (status_text, TRUE);
int
main (int argc, char **argv)
{
- gchar *display, *xdg_seat, *xdg_vtnr, *xdg_current_desktop, *xdg_session_cookie, *desktop_session, *mir_socket, *mir_vt, *mir_id;
+ gchar *display, *xdg_seat, *xdg_vtnr, *xdg_current_desktop, *xdg_session_cookie, *xdg_session_class, *desktop_session, *mir_socket, *mir_vt, *mir_id;
GString *status_text;
int fd, open_max;
xdg_vtnr = getenv ("XDG_VTNR");
xdg_current_desktop = getenv ("XDG_CURRENT_DESKTOP");
xdg_session_cookie = getenv ("XDG_SESSION_COOKIE");
+ xdg_session_class = getenv ("XDG_SESSION_CLASS");
desktop_session = getenv ("DESKTOP_SESSION");
mir_socket = getenv ("MIR_SOCKET");
mir_vt = getenv ("MIR_SERVER_VT");
g_string_append_printf (status_text, " XDG_CURRENT_DESKTOP=%s", xdg_current_desktop);
if (xdg_session_cookie)
g_string_append_printf (status_text, " XDG_SESSION_COOKIE=%s", xdg_session_cookie);
+ if (xdg_session_class)
+ g_string_append_printf (status_text, " XDG_SESSION_CLASS=%s", xdg_session_class);
if (desktop_session)
g_string_append_printf (status_text, " DESKTOP_SESSION=%s", desktop_session);
if (mir_vt > 0)