]> rtime.felk.cvut.cz Git - sojka/lightdm.git/commitdiff
Make a generic DisplayServer object. Don't connect the daemon to X servers, it could...
authorRobert Ancell <robert.ancell@canonical.com>
Sun, 17 Jul 2011 06:32:14 +0000 (16:32 +1000)
committerRobert Ancell <robert.ancell@canonical.com>
Sun, 17 Jul 2011 06:32:14 +0000 (16:32 +1000)
40 files changed:
src/Makefile.am
src/display-server.c [new file with mode: 0644]
src/display-server.h [new file with mode: 0644]
src/display.c
src/display.h
src/seat-local.c
src/seat-xdmcp-client.c
src/seat-xdmcp-session.c
src/seat.c
src/xserver-local.c
src/xserver-remote.c
src/xserver.c
src/xserver.h
tests/scripts/autologin-guest.script
tests/scripts/autologin-logout.script
tests/scripts/autologin-xserver-crash.script
tests/scripts/autologin.script
tests/scripts/greeter-xserver-crash.script
tests/scripts/login-gobject-guest-disabled.script
tests/scripts/login-gobject-guest-fail-setup-script.script
tests/scripts/login-gobject-guest-no-config.script
tests/scripts/login-gobject-guest-no-setup-script.script
tests/scripts/login-gobject-guest.script
tests/scripts/login-gobject-invalid-user.script
tests/scripts/login-gobject-logout.script
tests/scripts/login-gobject-manual.script
tests/scripts/login-gobject-no-password.script
tests/scripts/login-gobject-session-crash.script
tests/scripts/login-gobject-wrong-password.script
tests/scripts/login-gobject-xserver-crash.script
tests/scripts/login-gobject.script
tests/scripts/no-config.script
tests/scripts/plymouth-active-vt.script
tests/scripts/plymouth-inactive-vt.script
tests/scripts/plymouth-xserver-fail-start.script
tests/scripts/switch-to-greeter.script
tests/scripts/switch-to-guest.script
tests/scripts/switch-to-user.script
tests/scripts/xdmcp-login.script
tests/scripts/xserver-fail-start.script

index 99c2d7834e54cb0aadad347d382b6f6ec3e7b96c..fd57bc92c5eff954943cf7c55d804c8eb3b1391f 100644 (file)
@@ -15,6 +15,8 @@ lightdm_SOURCES = \
        display.h \
        display-manager.c \
        display-manager.h \
+       display-server.c \
+       display-server.h \
        dmrc.c \
        dmrc.h \
        greeter.c \
diff --git a/src/display-server.c b/src/display-server.c
new file mode 100644 (file)
index 0000000..6b1cee1
--- /dev/null
@@ -0,0 +1,119 @@
+/*
+ * Copyright (C) 2010-2011 Robert Ancell.
+ * Author: Robert Ancell <robert.ancell@canonical.com>
+ * 
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version. See http://www.gnu.org/copyleft/gpl.html the full text of the
+ * license.
+ */
+
+#include <config.h>
+
+#include "display-server.h"
+
+enum {
+    READY,
+    STOPPED,
+    LAST_SIGNAL
+};
+static guint signals[LAST_SIGNAL] = { 0 };
+
+G_DEFINE_TYPE (DisplayServer, display_server, G_TYPE_OBJECT);
+
+static void
+display_server_real_setup_session (DisplayServer *server, Session *session)
+{
+}
+
+void
+display_server_setup_session (DisplayServer *server, Session *session)
+{
+    g_return_if_fail (server != NULL);
+
+    DISPLAY_SERVER_GET_CLASS (server)->setup_session (server, session);
+}
+
+static gboolean
+display_server_real_start (DisplayServer *server)
+{
+    return FALSE;
+}
+
+gboolean
+display_server_start (DisplayServer *server)
+{
+    g_return_val_if_fail (server != NULL, FALSE);
+    return DISPLAY_SERVER_GET_CLASS (server)->start (server);
+}
+
+void
+display_server_set_ready (DisplayServer *server)
+{
+    g_return_if_fail (server != NULL);
+    g_signal_emit (server, signals[READY], 0);
+}
+
+static gboolean
+display_server_real_restart (DisplayServer *server)
+{
+    return FALSE;
+}
+
+gboolean
+display_server_restart (DisplayServer *server)
+{
+    g_return_val_if_fail (server != NULL, FALSE);
+    return DISPLAY_SERVER_GET_CLASS (server)->restart (server);
+}
+
+static void
+display_server_real_stop (DisplayServer *server)
+{
+}
+
+void
+display_server_stop (DisplayServer *server)
+{
+    g_return_if_fail (server != NULL);
+    DISPLAY_SERVER_GET_CLASS (server)->stop (server);
+}
+
+void
+display_server_set_stopped (DisplayServer *server)
+{
+    g_return_if_fail (server != NULL);
+    g_signal_emit (server, signals[STOPPED], 0);
+}
+
+static void
+display_server_init (DisplayServer *server)
+{
+}
+
+static void
+display_server_class_init (DisplayServerClass *klass)
+{
+    klass->setup_session = display_server_real_setup_session;  
+    klass->start = display_server_real_start;
+    klass->restart = display_server_real_restart;
+    klass->stop = display_server_real_stop;
+
+    signals[READY] =
+        g_signal_new ("ready",
+                      G_TYPE_FROM_CLASS (klass),
+                      G_SIGNAL_RUN_LAST,
+                      G_STRUCT_OFFSET (DisplayServerClass, ready),
+                      NULL, NULL,
+                      g_cclosure_marshal_VOID__VOID,
+                      G_TYPE_NONE, 0);
+    signals[STOPPED] =
+        g_signal_new ("stopped",
+                      G_TYPE_FROM_CLASS (klass),
+                      G_SIGNAL_RUN_LAST,
+                      G_STRUCT_OFFSET (DisplayServerClass, stopped),
+                      NULL, NULL,
+                      g_cclosure_marshal_VOID__VOID,
+                      G_TYPE_NONE, 0);
+}
diff --git a/src/display-server.h b/src/display-server.h
new file mode 100644 (file)
index 0000000..42c8f39
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2010-2011 Robert Ancell.
+ * Author: Robert Ancell <robert.ancell@canonical.com>
+ * 
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version. See http://www.gnu.org/copyleft/gpl.html the full text of the
+ * license.
+ */
+
+#ifndef _DISPLAY_SERVER_H_
+#define _DISPLAY_SERVER_H_
+
+#include <glib-object.h>
+#include "session.h"
+
+G_BEGIN_DECLS
+
+#define DISPLAY_SERVER_TYPE (display_server_get_type())
+#define DISPLAY_SERVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DISPLAY_SERVER_TYPE, DisplayServer))
+#define DISPLAY_SERVER_CLASS(klass)   (G_TYPE_CHECK_CLASS_CAST ((klass), DISPLAY_SERVER_TYPE, DisplayServerClass))
+#define DISPLAY_SERVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DISPLAY_SERVER_TYPE, DisplayServerClass))
+
+typedef struct DisplayServerPrivate DisplayServerPrivate;
+
+typedef struct
+{
+    GObject               parent_instance;
+    DisplayServerPrivate *priv;
+} DisplayServer;
+
+typedef struct
+{
+    GObjectClass parent_class;
+
+    void (*ready)(DisplayServer *server);
+    void (*stopped)(DisplayServer *server);
+
+    void (*setup_session)(DisplayServer *server, Session *session);
+    gboolean (*start)(DisplayServer *server);
+    gboolean (*restart)(DisplayServer *server);
+    void (*stop)(DisplayServer *server);
+} DisplayServerClass;
+
+GType display_server_get_type (void);
+
+void display_server_setup_session (DisplayServer *server, Session *session);
+
+gboolean display_server_start (DisplayServer *server);
+
+void display_server_set_ready (DisplayServer *server);
+
+gboolean display_server_restart (DisplayServer *server);
+
+void display_server_stop (DisplayServer *server);
+
+void display_server_set_stopped (DisplayServer *server);
+
+G_END_DECLS
+
+#endif /* _DISPLAY_SERVER_H_ */
index 12d4d3efa494f14eb787ad181b2a89b75970adfd..fd45a714039a568deba5302efb7211345d1f910c 100644 (file)
@@ -47,8 +47,8 @@ typedef enum
 
 struct DisplayPrivate
 {
-    /* X server */
-    XServer *xserver;
+    /* Display server */
+    DisplayServer *display_server;
 
     /* User to run greeter as */
     gchar *greeter_user;
@@ -89,7 +89,7 @@ struct DisplayPrivate
     /* Default session */
     gchar *default_session;
 
-    /* TRUE if stopping the display (waiting for xserver, greeter and session to stop) */
+    /* TRUE if stopping the display (waiting for dispaly server, greeter and session to stop) */
     gboolean stopping;    
 };
 
@@ -98,15 +98,15 @@ G_DEFINE_TYPE (Display, display, G_TYPE_OBJECT);
 static gboolean start_greeter (Display *display);
 
 Display *
-display_new (const gchar *config_section, XServer *xserver)
+display_new (const gchar *config_section, DisplayServer *display_server)
 {
     Display *self = g_object_new (DISPLAY_TYPE, NULL);
 
-    g_return_val_if_fail (xserver != NULL, NULL);
+    g_return_val_if_fail (display_server != NULL, NULL);
 
     self->priv->pam_service = g_strdup ("lightdm");
     self->priv->pam_autologin_service = g_strdup ("lightdm-autologin");
-    self->priv->xserver = g_object_ref (xserver);
+    self->priv->display_server = g_object_ref (display_server);
 
     if (config_section)
         self->priv->greeter_user = config_get_string (config_get_instance (), config_section, "greeter-user");
@@ -128,11 +128,11 @@ display_new (const gchar *config_section, XServer *xserver)
     return self;
 }
 
-XServer *
-display_get_xserver (Display *display)
+DisplayServer *
+display_get_display_server (Display *display)
 {
     g_return_val_if_fail (display != NULL, NULL);
-    return display->priv->xserver;
+    return display->priv->display_server;
 }
 
 Greeter *
@@ -168,8 +168,7 @@ static gchar *
 start_ck_session (Display *display, const gchar *session_type, User *user)
 {
     GDBusProxy *proxy;
-    char *display_device = NULL;
-    const gchar *address, *hostname = "";
+    const gchar *hostname = "";
     GVariantBuilder arg_builder;
     GVariant *result;
     gchar *cookie = NULL;
@@ -179,10 +178,6 @@ start_ck_session (Display *display, const gchar *session_type, User *user)
     if (getuid () != 0)
         return NULL;
 
-    if (IS_XSERVER_LOCAL (display->priv->xserver) && xserver_local_get_vt (XSERVER_LOCAL (display->priv->xserver)) >= 0)
-        display_device = g_strdup_printf ("/dev/tty%d", xserver_local_get_vt (XSERVER_LOCAL (display->priv->xserver)));
-    address = xserver_get_address (display->priv->xserver);
-
     proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
                                            G_DBUS_PROXY_FLAGS_NONE,
                                            NULL,
@@ -200,13 +195,23 @@ start_ck_session (Display *display, const gchar *session_type, User *user)
     g_variant_builder_open (&arg_builder, G_VARIANT_TYPE ("a(sv)"));
     g_variant_builder_add (&arg_builder, "(sv)", "unix-user", g_variant_new_int32 (user_get_uid (user)));
     g_variant_builder_add (&arg_builder, "(sv)", "session-type", g_variant_new_string (session_type));
-    g_variant_builder_add (&arg_builder, "(sv)", "x11-display", g_variant_new_string (address));
-    if (display_device)
-        g_variant_builder_add (&arg_builder, "(sv)", "x11-display-device", g_variant_new_string (display_device));
+    if (IS_XSERVER (display->priv->display_server))
+    {
+        g_variant_builder_add (&arg_builder, "(sv)", "x11-display",
+                               g_variant_new_string (xserver_get_address (XSERVER (display->priv->display_server))));
+
+        if (IS_XSERVER_LOCAL (display->priv->display_server) && xserver_local_get_vt (XSERVER_LOCAL (display->priv->display_server)) >= 0)
+        {
+            gchar *display_device;
+            display_device = g_strdup_printf ("/dev/tty%d", xserver_local_get_vt (XSERVER_LOCAL (display->priv->display_server)));
+            g_variant_builder_add (&arg_builder, "(sv)", "x11-display-device", g_variant_new_string (display_device));
+            g_free (display_device);
+        }
+    }
+
     g_variant_builder_add (&arg_builder, "(sv)", "remote-host-name", g_variant_new_string (hostname));
     g_variant_builder_add (&arg_builder, "(sv)", "is-local", g_variant_new_boolean (TRUE));
     g_variant_builder_close (&arg_builder);
-    g_free (display_device);
 
     result = g_dbus_proxy_call_sync (proxy,
                                      "OpenSessionWithParameters",
@@ -305,7 +310,7 @@ static void
 check_stopped (Display *display)
 {
     if (display->priv->stopping &&
-        display->priv->xserver == NULL &&
+        display->priv->display_server == NULL &&
         display->priv->greeter_session == NULL &&
         display->priv->user_session == NULL)
     {
@@ -346,10 +351,10 @@ user_session_stopped_cb (Session *session, Display *display)
         display->priv->user_ck_cookie = NULL;
 
         /* Restart the X server or start a new one if it failed */
-        if (!xserver_restart (display->priv->xserver))
+        if (!display_server_restart (display->priv->display_server))
         {
             g_debug ("Starting new X server");
-            xserver_start (display->priv->xserver);
+            display_server_start (display->priv->display_server);
         }
     }
 }
@@ -483,7 +488,7 @@ start_user_session (Display *display, const gchar *session)
     child_process_set_env (CHILD_PROCESS (display->priv->user_session), "DESKTOP_SESSION", session); // FIXME: Apparently deprecated?
     child_process_set_env (CHILD_PROCESS (display->priv->user_session), "GDMSESSION", session); // FIXME: Not cross-desktop
     set_env_from_pam_session (display->priv->user_session, display->priv->user_pam_session);
-    xserver_setup_session (display->priv->xserver, display->priv->user_session);
+    display_server_setup_session (display->priv->display_server, display->priv->user_session);
 
     // FIXME: Copy old error file  
     log_filename = g_build_filename (user_get_home_directory (user), ".xsession-errors", NULL);
@@ -701,10 +706,11 @@ start_greeter (Display *display)
     if (display->priv->greeter_ck_cookie)
         child_process_set_env (CHILD_PROCESS (display->priv->greeter_session), "XDG_SESSION_COOKIE", display->priv->greeter_ck_cookie);
     set_env_from_pam_session (SESSION (display->priv->greeter_session), display->priv->greeter_pam_session);
-    xserver_setup_session (display->priv->xserver, SESSION (display->priv->greeter_session));
+    display_server_setup_session (display->priv->display_server, SESSION (display->priv->greeter_session));
 
     log_dir = config_get_string (config_get_instance (), "Directories", "log-directory");
-    filename = g_strdup_printf ("%s-greeter.log", xserver_get_address (display_get_xserver (display)));
+    // FIXME: May not be an X server
+    filename = g_strdup_printf ("%s-greeter.log", xserver_get_address (XSERVER (display->priv->display_server)));
     log_filename = g_build_filename (log_dir, filename, NULL);
     g_free (log_dir);
     g_free (filename);
@@ -738,14 +744,14 @@ start_greeter (Display *display)
 }
 
 static void
-xserver_stopped_cb (XServer *server, Display *display)
+display_server_stopped_cb (DisplayServer *server, Display *display)
 {
     g_debug ("X server stopped");
 
     if (display->priv->stopping)
     {
-        g_object_unref (display->priv->xserver);
-        display->priv->xserver = NULL;
+        g_object_unref (display->priv->display_server);
+        display->priv->display_server = NULL;
         check_stopped (display);
     }
     else
@@ -759,20 +765,20 @@ xserver_stopped_cb (XServer *server, Display *display)
         else
         {
             g_debug ("Starting new X server");
-            xserver_start (display->priv->xserver);
+            display_server_start (display->priv->display_server);
         }
     }
 }
 
 static void
-xserver_ready_cb (XServer *xserver, Display *display)
+display_server_ready_cb (DisplayServer *display_server, Display *display)
 {
     const gchar *autologin_user = NULL;
 
     run_script ("Init"); // FIXME: Async
 
     /* Don't run any sessions on local terminals */
-    if (IS_XSERVER_LOCAL (xserver) && xserver_local_get_xdmcp_server (XSERVER_LOCAL (xserver)))
+    if (IS_XSERVER_LOCAL (display_server) && xserver_local_get_xdmcp_server (XSERVER_LOCAL (display_server)))
         return;
 
     /* If have user then automatically login the first time */
@@ -827,9 +833,9 @@ display_start (Display *display)
 
     g_return_val_if_fail (display != NULL, FALSE);
 
-    g_signal_connect (G_OBJECT (display->priv->xserver), "ready", G_CALLBACK (xserver_ready_cb), display);
-    g_signal_connect (G_OBJECT (display->priv->xserver), "stopped", G_CALLBACK (xserver_stopped_cb), display);
-    result = xserver_start (display->priv->xserver);
+    g_signal_connect (G_OBJECT (display->priv->display_server), "ready", G_CALLBACK (display_server_ready_cb), display);
+    g_signal_connect (G_OBJECT (display->priv->display_server), "stopped", G_CALLBACK (display_server_stopped_cb), display);
+    result = display_server_start (display->priv->display_server);
   
     g_signal_emit (display, signals[STARTED], 0);
 
@@ -845,7 +851,7 @@ display_stop (Display *display)
 
     display->priv->stopping = TRUE;
 
-    xserver_stop (display->priv->xserver);
+    display_server_stop (display->priv->display_server);
     if (display->priv->greeter_session)
         child_process_stop (CHILD_PROCESS (display->priv->greeter_session));
     if (display->priv->user_session)
@@ -865,7 +871,7 @@ display_finalize (GObject *object)
 
     self = DISPLAY (object);
 
-    g_object_unref (self->priv->xserver);
+    g_object_unref (self->priv->display_server);
     g_free (self->priv->greeter_user);
     g_free (self->priv->greeter_theme);
     g_free (self->priv->session_wrapper);
index e63b4960697da02e7b5c80660890d3e5bc4bc9c3..afd1568ce59294698ac64307301d778b7af2f6d2 100644 (file)
@@ -14,7 +14,7 @@
 
 #include <glib-object.h>
 
-#include "xserver.h"
+#include "display-server.h"
 #include "session.h"
 #include "greeter.h"
 
@@ -42,9 +42,9 @@ typedef struct
 
 GType display_get_type (void);
 
-Display *display_new (const gchar *config_section, XServer *xserver);
+Display *display_new (const gchar *config_section, DisplayServer *server);
 
-XServer *display_get_xserver (Display *display);
+DisplayServer *display_get_display_server (Display *display);
 
 Greeter *display_get_greeter (Display *display);
 
index bc60ea07f36915b0bbb87d9f5b907d58c63f7794..6c1d702e9cae3cc28813b790f636455321ed6b3d 100644 (file)
@@ -57,7 +57,7 @@ seat_local_add_display (Seat *seat)
     xserver_set_authorization (XSERVER (xserver), authorization);
     g_object_unref (authorization);
 
-    display = display_new (SEAT_LOCAL (seat)->priv->config_section, XSERVER (xserver));
+    display = display_new (SEAT_LOCAL (seat)->priv->config_section, DISPLAY_SERVER (xserver));
     g_object_unref (xserver);
 
     return display;
@@ -66,7 +66,7 @@ seat_local_add_display (Seat *seat)
 static void
 seat_local_set_active_display (Seat *seat, Display *display)
 {
-    gint number = xserver_local_get_vt (XSERVER_LOCAL (display_get_xserver (display)));
+    gint number = xserver_local_get_vt (XSERVER_LOCAL (XSERVER (display_get_display_server (display))));
     if (number >= 0)
         vt_set_active (number);
 }
index e69e206f5545a94f5a992b6d027f3abc8c032041..86120b52cc63d403a72fc9105569dc26211d8c7c 100644 (file)
@@ -78,7 +78,7 @@ seat_xdmcp_client_add_display (Seat *seat)
     xserver_set_authorization (XSERVER (xserver), authorization);
     g_object_unref (authorization);
 
-    SEAT_XDMCP_CLIENT (seat)->priv->display = g_object_ref (display_new (SEAT_XDMCP_CLIENT (seat)->priv->config_section, XSERVER (xserver)));
+    SEAT_XDMCP_CLIENT (seat)->priv->display = g_object_ref (display_new (SEAT_XDMCP_CLIENT (seat)->priv->config_section, DISPLAY_SERVER (xserver)));
     g_object_unref (xserver);
 
     return SEAT_XDMCP_CLIENT (seat)->priv->display;
index 5901c0c76549c3031c3795c36ea1bdc2457cd022..27cfa2fe6a09fab2495c6f44a87eb0d778f6af2b 100644 (file)
@@ -67,7 +67,7 @@ seat_xdmcp_session_add_display (Seat *seat)
     }
     g_free (address);
 
-    display = display_new (SEAT_XDMCP_SESSION (seat)->priv->config_section, XSERVER (xserver));
+    display = display_new (SEAT_XDMCP_SESSION (seat)->priv->config_section, DISPLAY_SERVER (xserver));
     g_object_unref (xserver);
 
     return display;
index 589dcef2da867366c1b05c4ab5221ae65938ee2d..84a156f3a0cd13afe33595666b0a29ad5b143b71 100644 (file)
@@ -107,7 +107,8 @@ display_activate_user_cb (Display *display, const gchar *username, Seat *seat)
         /* If already logged in, then switch to that display and stop the greeter display */
         if (g_strcmp0 (display_get_session_user (d), username) == 0)
         {
-            g_debug ("Switching to user %s session on display %s", username, xserver_get_address (display_get_xserver (display)));
+            // FIXME: Use display_get_name
+            g_debug ("Switching to user %s session on display %s", username, xserver_get_address (XSERVER (display_get_display_server (display))));
             SEAT_GET_CLASS (seat)->set_active_display (seat, display);
             return TRUE;
         }
@@ -171,7 +172,8 @@ switch_to_user (Seat *seat, const gchar *username, gboolean is_guest)
         /* If already logged in, then switch to that display */
         if (g_strcmp0 (display_get_session_user (display), username) == 0)
         {
-            g_debug ("Switching to user %s session on display %s", username, xserver_get_address (display_get_xserver (display)));
+            // FIXME: Use display_get_name
+            g_debug ("Switching to user %s session on display %s", username, xserver_get_address (XSERVER (display_get_display_server (display))));
             SEAT_GET_CLASS (seat)->set_active_display (seat, display);
             return TRUE;
         }
index 28c145608b1c1ad39a2642e1e6c28ab054f44c37..7475511b579096137c93bacb88738e14de973f1c 100644 (file)
@@ -193,7 +193,7 @@ got_signal_cb (ChildProcess *process, int signum, XServerLocal *server)
             plymouth_quit (TRUE);
         }
 
-        xserver_connect (XSERVER (server));
+        display_server_set_ready (DISPLAY_SERVER (server));
     }
 }
 
@@ -225,11 +225,11 @@ stopped_cb (ChildProcess *process, XServerLocal *server)
         plymouth_quit (FALSE);
     }
 
-    xserver_disconnect (XSERVER (server));
+    display_server_set_stopped (DISPLAY_SERVER (server));
 }
 
 static gboolean
-xserver_local_start (XServer *server)
+xserver_local_start (DisplayServer *server)
 {
     GError *error = NULL;
     gboolean result;
@@ -269,7 +269,7 @@ xserver_local_start (XServer *server)
     command = g_string_new (absolute_command);
     g_free (absolute_command);
 
-    g_string_append_printf (command, " :%d", xserver_get_display_number (server));
+    g_string_append_printf (command, " :%d", xserver_get_display_number (XSERVER (server)));
 
     if (XSERVER_LOCAL (server)->priv->config_file)
         g_string_append_printf (command, " -config %s", XSERVER_LOCAL (server)->priv->config_file);
@@ -277,7 +277,7 @@ xserver_local_start (XServer *server)
     if (XSERVER_LOCAL (server)->priv->layout)
         g_string_append_printf (command, " -layout %s", XSERVER_LOCAL (server)->priv->layout);
 
-    auth_file = xserver_get_authority_file (server);
+    auth_file = xserver_get_authority_file (XSERVER (server));
     if (auth_file)
     {
         gchar *path = g_file_get_path (auth_file);
@@ -291,14 +291,14 @@ xserver_local_start (XServer *server)
         if (XSERVER_LOCAL (server)->priv->xdmcp_port != 0)
             g_string_append_printf (command, " -port %d", XSERVER_LOCAL (server)->priv->xdmcp_port);
         g_string_append_printf (command, " -query %s", XSERVER_LOCAL (server)->priv->xdmcp_server);
-        if (g_strcmp0 (xserver_get_authentication_name (server), "XDM-AUTHENTICATION-1") == 0)
+        if (g_strcmp0 (xserver_get_authentication_name (XSERVER (server)), "XDM-AUTHENTICATION-1") == 0)
         {
             GString *cookie;
             const guint8 *data;
             gsize data_length, i;
 
-            data = xserver_get_authentication_data (server);
-            data_length = xserver_get_authentication_data_length (server);
+            data = xserver_get_authentication_data (XSERVER (server));
+            data_length = xserver_get_authentication_data_length (XSERVER (server));
             cookie = g_string_new ("0x");
             for (i = 0; i < data_length; i++)
                 g_string_append_printf (cookie, "%02X", data[i]);
@@ -342,7 +342,7 @@ xserver_local_start (XServer *server)
     if (!result)
         g_warning ("Unable to create display: %s", error->message);
     else
-        g_debug ("Waiting for ready signal from X server :%d", xserver_get_display_number (server));
+        g_debug ("Waiting for ready signal from X server :%d", xserver_get_display_number (XSERVER (server)));
     g_clear_error (&error);
 
     if (!result)
@@ -352,7 +352,7 @@ xserver_local_start (XServer *server)
 }
  
 static gboolean
-xserver_local_restart (XServer *server)
+xserver_local_restart (DisplayServer *server)
 {
     /* Not running */
     if (!XSERVER_LOCAL (server)->priv->xserver_process)
@@ -367,7 +367,7 @@ xserver_local_restart (XServer *server)
 }
 
 static void
-xserver_local_stop (XServer *server)
+xserver_local_stop (DisplayServer *server)
 {
     child_process_stop (XSERVER_LOCAL (server)->priv->xserver_process);
 }
@@ -403,11 +403,11 @@ static void
 xserver_local_class_init (XServerLocalClass *klass)
 {
     GObjectClass *object_class = G_OBJECT_CLASS (klass);
-    XServerClass *xserver_class = XSERVER_CLASS (klass);
+    DisplayServerClass *display_server_class = DISPLAY_SERVER_CLASS (klass);
 
-    xserver_class->start = xserver_local_start;
-    xserver_class->restart = xserver_local_restart;
-    xserver_class->stop = xserver_local_stop;
+    display_server_class->start = xserver_local_start;
+    display_server_class->restart = xserver_local_restart;
+    display_server_class->stop = xserver_local_stop;
     object_class->finalize = xserver_local_finalize;
 
     g_type_class_add_private (klass, sizeof (XServerLocalPrivate));
index 159c9c58266b8bf173af8467b4307e355afde37e..7a9234de7cdcf99cbebf619bb1f6bba5c0de4c60 100644 (file)
@@ -27,15 +27,16 @@ xserver_remote_new (const gchar *hostname, guint number)
 }
 
 static gboolean
-xserver_remote_start (XServer *server)
+xserver_remote_start (DisplayServer *server)
 {
-    return xserver_connect (server);
+    display_server_set_ready (DISPLAY_SERVER (server));
+    return TRUE;
 }
 
 static void
-xserver_remote_stop (XServer *server)
+xserver_remote_stop (DisplayServer *server)
 {
-    xserver_disconnect (server);
+    display_server_set_stopped (DISPLAY_SERVER (server));
 }
 
 static void
@@ -46,8 +47,8 @@ xserver_remote_init (XServerRemote *server)
 static void
 xserver_remote_class_init (XServerRemoteClass *klass)
 {
-    XServerClass *xserver_class = XSERVER_CLASS (klass);
+    DisplayServerClass *display_server_class = DISPLAY_SERVER_CLASS (klass);
 
-    xserver_class->start = xserver_remote_start;
-    xserver_class->stop = xserver_remote_stop;
+    display_server_class->start = xserver_remote_start;
+    display_server_class->stop = xserver_remote_stop;
 }
index dedeb0a87879f3fc33a548a1a7f086af142bb786..d10273294e821a881dd24f8ea1dfc1bfaf03e428 100644 (file)
 #include <config.h>
 
 #include <string.h>
-#include <xcb/xcb.h>
 #include <fcntl.h>
 
 #include "xserver.h"
 #include "configuration.h"
 
-enum {
-    READY,
-    STOPPED,
-    LAST_SIGNAL
-};
-static guint signals[LAST_SIGNAL] = { 0 };
-
 struct XServerPrivate
 {  
     /* Host running the server */
@@ -48,12 +40,9 @@ struct XServerPrivate
 
     /* Authority file */
     GFile *authority_file;
-
-    /* Connection to X server */
-    xcb_connection_t *connection;
 };
 
-G_DEFINE_TYPE (XServer, xserver, G_TYPE_OBJECT);
+G_DEFINE_TYPE (XServer, xserver, DISPLAY_SERVER_TYPE);
 
 void
 xserver_set_hostname (XServer *server, const gchar *hostname)
@@ -217,127 +206,14 @@ xserver_get_authority_file (XServer *server)
 }
 
 static void
-xserver_real_setup_session (XServer *server, Session *session)
-{
-}
-
-void
-xserver_setup_session (XServer *server, Session *session)
+xserver_setup_session (DisplayServer *server, Session *session)
 {
     XAuthorization *authorization;
 
-    g_return_if_fail (server != NULL);
-
-    child_process_set_env (CHILD_PROCESS (session), "DISPLAY", xserver_get_address (server));
-    authorization = xserver_get_authorization (server);
+    child_process_set_env (CHILD_PROCESS (session), "DISPLAY", xserver_get_address (XSERVER (server)));
+    authorization = xserver_get_authorization (XSERVER (server));
     if (authorization)
         session_set_authorization (session, authorization);
-
-    //XSERVER_GET_CLASS (server)->setup_session (server, session);
-}
-
-static gboolean
-xserver_real_start (XServer *server)
-{
-    return FALSE;
-}
-
-gboolean
-xserver_start (XServer *server)
-{
-    g_return_val_if_fail (server != NULL, FALSE);
-    return XSERVER_GET_CLASS (server)->start (server);
-}
-
-gboolean
-xserver_connect (XServer *server)
-{
-    gchar *xauthority = NULL;
-
-    g_return_val_if_fail (server != NULL, FALSE);
-
-    /* Write the authorization file */
-    write_authority_file (server);
-
-    /* NOTE: We have to do this hack as xcb_connect_to_display_with_auth_info can't be used
-     * for XDM-AUTHORIZATION-1 and the authorization data requires to know the source port */
-    // FIXME: Make xcb_connect_with_authority
-    if (server->priv->authority_file)
-    {
-        gchar *path = g_file_get_path (server->priv->authority_file);
-        xauthority = g_strdup (g_getenv ("XAUTHORITY"));
-        g_setenv ("XAUTHORITY", path, TRUE);
-        g_free (path);
-    }
-
-    // FIXME: Needs to be done in a separate thread, this could block
-    g_debug ("Connecting to XServer %s", xserver_get_address (server));
-    server->priv->connection = xcb_connect (xserver_get_address (server), NULL);
-    if (xcb_connection_has_error (server->priv->connection))
-    {
-        xcb_disconnect (server->priv->connection);
-        server->priv->connection = NULL;
-        g_debug ("Error connecting to XServer %s", xserver_get_address (server));
-    }
-
-    // FIXME: Need to detect when connection is dropped
-    //xcb_get_file_descriptor(xcb_connection_t *c);
-
-    if (server->priv->authority_file)
-    {
-        if (xauthority)
-            g_setenv ("XAUTHORITY", xauthority, TRUE);
-        else
-            g_unsetenv ("XAUTHORITY");
-        g_free (xauthority);
-    }
-
-    if (server->priv->connection)
-    {
-        g_signal_emit (server, signals[READY], 0);
-        return TRUE;
-    }
-    else
-        return FALSE;
-}
-
-static gboolean
-xserver_real_restart (XServer *server)
-{
-    return FALSE;
-}
-
-gboolean
-xserver_restart (XServer *server)
-{
-    g_return_val_if_fail (server != NULL, FALSE);
-    return XSERVER_GET_CLASS (server)->restart (server);
-}
-
-void
-xserver_disconnect (XServer *server)
-{
-    g_return_if_fail (server != NULL);
-
-    if (server->priv->connection)
-    {
-        xcb_disconnect (server->priv->connection);
-        server->priv->connection = NULL;
-    }
-
-    g_signal_emit (server, signals[STOPPED], 0);
-}
-
-static void
-xserver_real_stop (XServer *server)
-{
-}
-
-void
-xserver_stop (XServer *server)
-{
-    g_return_if_fail (server != NULL);
-    XSERVER_GET_CLASS (server)->stop (server);
 }
 
 static void
@@ -354,9 +230,6 @@ xserver_finalize (GObject *object)
   
     self = XSERVER (object);
 
-    if (self->priv->connection)
-        xcb_disconnect (self->priv->connection);
-  
     g_free (self->priv->hostname);
     g_free (self->priv->authentication_name);
     g_free (self->priv->authentication_data);
@@ -376,29 +249,10 @@ static void
 xserver_class_init (XServerClass *klass)
 {
     GObjectClass *object_class = G_OBJECT_CLASS (klass);
+    DisplayServerClass *display_server_class = DISPLAY_SERVER_CLASS (klass);  
 
-    klass->setup_session = xserver_real_setup_session;  
-    klass->start = xserver_real_start;
-    klass->restart = xserver_real_restart;
-    klass->stop = xserver_real_stop;
+    display_server_class->setup_session = xserver_setup_session;  
     object_class->finalize = xserver_finalize;
 
     g_type_class_add_private (klass, sizeof (XServerPrivate));
-
-    signals[READY] =
-        g_signal_new ("ready",
-                      G_TYPE_FROM_CLASS (klass),
-                      G_SIGNAL_RUN_LAST,
-                      G_STRUCT_OFFSET (XServerClass, ready),
-                      NULL, NULL,
-                      g_cclosure_marshal_VOID__VOID,
-                      G_TYPE_NONE, 0);
-    signals[STOPPED] =
-        g_signal_new ("stopped",
-                      G_TYPE_FROM_CLASS (klass),
-                      G_SIGNAL_RUN_LAST,
-                      G_STRUCT_OFFSET (XServerClass, stopped),
-                      NULL, NULL,
-                      g_cclosure_marshal_VOID__VOID,
-                      G_TYPE_NONE, 0);
 }
index 5bec54b308c7923ca33f4050808b6291760733e5..f575a152b1d0c3be31d65bdd50ae6036a1d40dea 100644 (file)
@@ -13,7 +13,7 @@
 #define _XSERVER_H_
 
 #include <glib-object.h>
-#include "session.h"
+#include "display-server.h"
 #include "xauth.h"
 
 G_BEGIN_DECLS
@@ -22,26 +22,19 @@ G_BEGIN_DECLS
 #define XSERVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XSERVER_TYPE, XServer))
 #define XSERVER_CLASS(klass)   (G_TYPE_CHECK_CLASS_CAST ((klass), XSERVER_TYPE, XServerClass))
 #define XSERVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XSERVER_TYPE, XServerClass))
+#define IS_XSERVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XSERVER_TYPE))
 
 typedef struct XServerPrivate XServerPrivate;
 
 typedef struct
 {
-    GObject         parent_instance;
+    DisplayServer   parent_instance;
     XServerPrivate *priv;
 } XServer;
 
 typedef struct
 {
-    GObjectClass parent_class;
-
-    void (*ready)(XServer *server);
-    void (*stopped)(XServer *server);
-
-    void (*setup_session)(XServer *server, Session *session);
-    gboolean (*start)(XServer *server);
-    gboolean (*restart)(XServer *server);
-    void (*stop)(XServer *server);
+    DisplayServerClass parent_class;
 } XServerClass;
 
 GType xserver_get_type (void);
@@ -70,18 +63,6 @@ XAuthorization *xserver_get_authorization (XServer *server);
 
 GFile *xserver_get_authority_file (XServer *server);
 
-void xserver_setup_session (XServer *server, Session *session);
-
-gboolean xserver_start (XServer *server);
-
-gboolean xserver_connect (XServer *server);
-
-gboolean xserver_restart (XServer *server);
-
-void xserver_disconnect (XServer *server);
-
-void xserver_stop (XServer *server);
-
 G_END_DECLS
 
 #endif /* _XSERVER_H_ */
index 9085438a021c2abe4b45951d7510fc7b704cbd4a..a3bcef00c214ea55cd07e232c4dbf6b6c918a19c 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Default session starts
 SESSION START USER=guest
index 8bb2945745f7824e4e5a78e61e15161e2bd308e2..604136a4aa3829a858472beb22c6486cc14eacb5 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Autologin session starts
 SESSION START USER=alice
@@ -20,7 +19,6 @@ SESSION LOGOUT
 # X server resets
 XSERVER :50 DISCONNECT-CLIENTS
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
index 69c4f8fcbc3c4a2fd4ad4b0a8d86c538ab21ddc8..7f1cccbba3fdbb5f39fc796ef97a4fa322ba0790 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Default session starts
 SESSION START USER=alice
@@ -24,7 +23,6 @@ SESSION TERMINATE SIGNAL=15
 # X server restarts and loads greeter
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 GREETER START
 XSERVER :50 ACCEPT-CONNECT
 GREETER CONNECT-XSERVER :50
index 28488ece28e296166a5aead0544166fea0daae9f..d25459bf451a2bd879f865105c558839ce142087 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Default session starts
 SESSION START USER=alice
index 26cfe628c94fbf469ff4c9e4a365e3569ebc4d29..1937c734ee460dd7499de7f7486c57bc86ed8a51 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
@@ -23,7 +22,6 @@ XSERVER :50 CRASH
 # X server restarts and loads greeter
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 GREETER START
 XSERVER :50 ACCEPT-CONNECT
 GREETER CONNECT-XSERVER :50
index 42d766c4c2301894fb6a43871794c649985201bc..902540e615318c00ce736419c07578828b07dc11 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
index 3bc9624f3c4aadfee816ddade33da63aea87424e..cf7f84b33f4c515bb3b59f526e6ce3809f329876 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
index e2e0b250f6ec696db9cd574ad3f2ae32dfffcec0..018a7abc548ec45667b8432468de72bb598d3b1c 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
index 3847a1eaf6bddf3616e13b7678129608c9b69cd7..163419946fbd52ac4bb60b5595287f19b58cd68e 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
index c687182a701a8aa6e2779a991cd017d4bed5ee07..c8c63aefc321f5438759fdb06e8ab644c78e53e0 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
index 6dded5bfdd8c89b595cb039ee58f800ea35bc204..056a01ab0b37babd6f3c87250e87b899103865ef 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
index e6ee5c75c2db9699f36fa15aaa476f2f0ec652e0..4509b07d7d0478266af69ee72f0e34561ffc13bc 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
@@ -34,7 +33,6 @@ SESSION LOGOUT
 # X server resets
 XSERVER :50 DISCONNECT-CLIENTS
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
index 8b32e526e58fe3835d83dc13f83c44c5fec7a561..affa4ac3fa76a42ef45b7353a3f29edb824f4b01 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
index e3efdfb3c436d83647102f45e173d70682409172..b31b5c8324cdcfa0b839a9b64ade7869b4faf665 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
index 669ce1cfd3a875ff7645062cd7a57fb9965f6f64..d469b291e819c6c82def7c7b2ac11f178870b09e 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
@@ -34,7 +33,6 @@ SESSION CRASH
 # X server resets
 XSERVER :50 DISCONNECT-CLIENTS
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts on X server
 GREETER START
index 83f68d8e1e32452af7008e8494c7f97d6dec767d..dc7492457249bb28fa501297a687a1b5d405b973 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
index 4577fbd3510c487243522d2b652fcbef962f16ed..e9ea89fb32cf208352589bacd798111e1352bec7 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # XServer starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
@@ -38,7 +37,6 @@ SESSION TERMINATE SIGNAL=15
 # X server restarts and loads greeter
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 GREETER START
 XSERVER :50 ACCEPT-CONNECT
 GREETER CONNECT-XSERVER :50
index dde89ca9ca63b505db5e3f07271b7ba897f4c88c..a1fe4060103be9cf1037e88d215474dd471ee1cf 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
index 17d3a90b76b34c2ec18fa8333715013160b71772..ed84b550d349804ca54029858cd3aa7aae7618e7 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # One X server should start by default
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
index c6fa6a5cd08fc883993c321181b60fec77f8c2b2..cbeaef069463a04d325e66bcd40fc571d25f9f90 100644 (file)
@@ -13,7 +13,6 @@ PLYMOUTH DEACTIVATE
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
 PLYMOUTH QUIT RETAIN-SPLASH=TRUE
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
index 0e583309ec7bbbba6c047de8d89016feda77ac0c..de17942b620b86a7e7a628c3ad93ed2576993d40 100644 (file)
@@ -12,7 +12,6 @@ PLYMOUTH QUIT RETAIN-SPLASH=FALSE
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
index d10f417a1cf7b4c18fac9eabbb3b13212db86a41..68fe39aed3ce05de8bbadc1902696b4ae394a81b 100644 (file)
@@ -19,7 +19,6 @@ PLYMOUTH QUIT RETAIN-SPLASH=FALSE
 # X server starts again
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
index 4fe6424bd3eb42252b9ee576156a539f47f3a8a0..1630bb3ebcad50ac2facefd999c55b86842851a6 100644 (file)
@@ -7,7 +7,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
@@ -35,7 +34,6 @@ RUNNER SWITCH-TO-GREETER
 # New X server starts
 XSERVER :51 START
 XSERVER :51 INDICATE-READY
-XSERVER :51 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
index f24a58f49d8fbe3d59e994238aebed89ba8d23d1..88f0e95058399c674273c8bb4060cbbdf61d6c0c 100644 (file)
@@ -8,7 +8,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
@@ -28,7 +27,6 @@ GREETER TERMINATE SIGNAL=15
 # New X server starts
 XSERVER :51 START
 XSERVER :51 INDICATE-READY
-XSERVER :51 ACCEPT-CONNECT
 
 # Guest session starts
 SESSION START USER=guest
index 78a4f9c9e9d11e6ae48f809a419cfb8b0d126f4b..7d0cc950f5220af3c75b90f0844bc61079c06221 100644 (file)
@@ -8,7 +8,6 @@ RUNNER DAEMON-START
 # X server starts
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START
@@ -28,7 +27,6 @@ RUNNER SWITCH-TO-USER USERNAME=alice
 # New X server starts
 XSERVER :51 START
 XSERVER :51 INDICATE-READY
-XSERVER :51 ACCEPT-CONNECT
 
 # New greeter starts
 GREETER START
index c127116e7797a08e0f0ed801a32767e645834ab5..334346a4ce93027cefa4f4ee8169fe1bb650ec2e 100644 (file)
@@ -15,7 +15,6 @@ XSERVER :98 GOT-WILLING AUTHENTICATION-NAME="" HOSTNAME="" STATUS=""
 XSERVER :98 SEND-REQUEST DISPLAY-NUMBER=98 AUTHORIZATION-NAME="MIT-MAGIC-COOKIE-1" MFID="TEST XSERVER"
 XSERVER :98 GOT-ACCEPT SESSION-ID=[0-9]* AUTHENTICATION-NAME="" AUTHORIZATION-NAME=""
 XSERVER :98 SEND-MANAGE SESSION-ID=[0-9]* DISPLAY-NUMBER=98 DISPLAY-CLASS="DISPLAY CLASS"
-XSERVER :98 ACCEPT-CONNECT
 
 # Greeter starts and connects to remote X server
 GREETER START
index 252ff4a27925d39f84cb8fc241ce0607ff0b1725..078380c024b00d3188efdccf35b94bf112cd076d 100644 (file)
@@ -10,7 +10,6 @@ XSERVER :50 EXIT CODE=1
 # X server starts again
 XSERVER :50 START
 XSERVER :50 INDICATE-READY
-XSERVER :50 ACCEPT-CONNECT
 
 # Greeter starts
 GREETER START