diff -Naur gdm-2.26.1.orig/common/gdm-settings-keys.h gdm-2.26.1/common/gdm-settings-keys.h
--- gdm-2.26.1.orig/common/gdm-settings-keys.h 2009-05-12 16:52:49.747175254 +0200
+++ gdm-2.26.1/common/gdm-settings-keys.h 2009-05-12 17:02:36.826359776 +0200
@@ -27,6 +27,7 @@
#define GDM_KEY_USER "daemon/User"
#define GDM_KEY_GROUP "daemon/Group"
+#define GDM_KEY_VT "daemon/VT"
#define GDM_KEY_AUTO_LOGIN_ENABLE "daemon/AutomaticLoginEnable"
#define GDM_KEY_AUTO_LOGIN_USER "daemon/AutomaticLogin"
#define GDM_KEY_TIMED_LOGIN_ENABLE "daemon/TimedLoginEnable"
diff -Naur gdm-2.26.1.orig/daemon/gdm-server.c gdm-2.26.1/daemon/gdm-server.c
--- gdm-2.26.1.orig/daemon/gdm-server.c 2009-05-12 16:52:49.697174894 +0200
+++ gdm-2.26.1/daemon/gdm-server.c 2009-05-12 20:32:56.127640378 +0200
@@ -43,7 +43,9 @@
#include "gdm-common.h"
#include "gdm-signal-handler.h"
-
+#include "gdm-settings.h"
+#include "gdm-settings-direct.h"
+#include "gdm-settings-keys.h"
#include "gdm-server.h"
extern char **environ;
@@ -79,7 +81,7 @@
char *parent_display_name;
char *parent_auth_file;
char *chosen_hostname;
-
+ char *vt;
guint child_watch_id;
};
@@ -676,7 +678,7 @@
gboolean res;
/* fork X server process */
- res = gdm_server_spawn (server, NULL);
+ res = gdm_server_spawn (server, server->priv->vt);
return res;
}
@@ -927,6 +929,8 @@
static void
gdm_server_init (GdmServer *server)
{
+ int vt;
+ gboolean has_vt;
server->priv = GDM_SERVER_GET_PRIVATE (server);
@@ -934,6 +938,11 @@
server->priv->command = g_strdup (X_SERVER " -br -verbose");
server->priv->log_dir = g_strdup (LOGDIR);
+ has_vt = gdm_settings_direct_get_int (GDM_KEY_VT, &vt);
+ if (has_vt) {
+ server->priv->vt = g_strdup_printf ("vt %d", vt);
+ }
+
add_ready_handler (server);
}
diff -Naur gdm-2.26.1.orig/data/gdm.schemas.in.in gdm-2.26.1/data/gdm.schemas.in.in
--- gdm-2.26.1.orig/data/gdm.schemas.in.in 2009-05-12 16:52:49.703840966 +0200
+++ gdm-2.26.1/data/gdm.schemas.in.in 2009-05-12 17:03:42.806980552 +0200
@@ -23,6 +23,11 @@
@GDM_GROUPNAME@
+ daemon/VT
+ i
+ 7
+
+
daemon/AutomaticLoginEnable
b
false