diff -u --recursive --new-file orig/gdm-2.16.1/config/gdm.conf.in gdm-2.16.1/config/gdm.conf.in
--- orig/gdm-2.16.1/config/gdm.conf.in	2006-08-03 19:36:26.000000000 +0200
+++ gdm-2.16.1/config/gdm.conf.in	2007-01-25 20:10:32.000000000 +0100
@@ -57,6 +57,9 @@
 TimedLogin=
 TimedLoginDelay=30
 
+# Set to false to disable the behavior that timed login is only enabled on the first display
+TimedLoginFirstDisplay=True
+
 # The GDM configuration program that is run from the login screen, you should
 # probably leave this alone.
 #Configurator=@sbindir@/gdmsetup --disable-sound --disable-crash-dialog
diff -u --recursive --new-file orig/gdm-2.16.1/daemon/gdm.c gdm-2.16.1/daemon/gdm.c
--- orig/gdm-2.16.1/daemon/gdm.c	2006-09-11 22:36:16.000000000 +0200
+++ gdm-2.16.1/daemon/gdm.c	2007-01-25 20:10:32.000000000 +0100
@@ -256,8 +256,10 @@
 			d->sleep_before_run = delay;
 
 			/* only the first static display has
-			 * timed login going on */
-			if (gdm_first_login)
+			 * timed login going on or user wants
+			 * to have timed login on all displays */
+			if (gdm_first_login || 
+			    ! gdm_get_value_bool (GDM_KEY_TIMED_LOGIN_FIRST_DISPLAY))
 				d->timed_login_ok = TRUE;
 
 			svr = gdm_server_resolve (d);
diff -u --recursive --new-file orig/gdm-2.16.1/daemon/gdmconfig.c gdm-2.16.1/daemon/gdmconfig.c
--- orig/gdm-2.16.1/daemon/gdmconfig.c	2006-07-17 20:43:51.000000000 +0200
+++ gdm-2.16.1/daemon/gdmconfig.c	2007-01-25 20:10:32.000000000 +0100
@@ -185,6 +185,7 @@
 static gboolean GdmAllowRemoteAutoLogin = FALSE;
 static gboolean GdmCheckDirOwner = TRUE;
 static gboolean GdmTimedLoginEnable = FALSE;
+static gboolean GdmTimedLoginFirstDisplay = TRUE;
 static gboolean GdmDynamicXservers = FALSE;
 static gboolean GdmVTAllocation = TRUE;
 static gboolean GdmDisallowTcp = TRUE;
@@ -373,6 +374,7 @@
       &GdmNeverPlaceCookiesOnNfs, &bool_type);
    gdm_config_add_hash (GDM_KEY_CONSOLE_NOTIFY, &GdmConsoleNotify, &bool_type);
    gdm_config_add_hash (GDM_KEY_TIMED_LOGIN_ENABLE, &GdmTimedLoginEnable, &bool_type);
+   gdm_config_add_hash (GDM_KEY_TIMED_LOGIN_FIRST_DISPLAY, &GdmTimedLoginFirstDisplay, &bool_type);
    gdm_config_add_hash (GDM_KEY_CHECK_DIR_OWNER, &GdmCheckDirOwner, &bool_type);
    gdm_config_add_hash (GDM_KEY_XDMCP, &GdmXdmcp, &bool_type);
    gdm_config_add_hash (GDM_KEY_INDIRECT, &GdmIndirect, &bool_type);
diff -u --recursive --new-file orig/gdm-2.16.1/daemon/gdm.h gdm-2.16.1/daemon/gdm.h
--- orig/gdm-2.16.1/daemon/gdm.h	2006-08-24 05:47:43.000000000 +0200
+++ gdm-2.16.1/daemon/gdm.h	2007-01-25 20:10:32.000000000 +0100
@@ -255,6 +255,7 @@
 #define GDM_KEY_TIMED_LOGIN_ENABLE "daemon/TimedLoginEnable=false"
 #define GDM_KEY_TIMED_LOGIN "daemon/TimedLogin="
 #define GDM_KEY_TIMED_LOGIN_DELAY "daemon/TimedLoginDelay=30"
+#define GDM_KEY_TIMED_LOGIN_FIRST_DISPLAY "daemon/TimedLoginFirstDisplay=true"
 
 #define GDM_KEY_FLEXI_REAP_DELAY_MINUTES "daemon/FlexiReapDelayMinutes=5"
 
diff -u --recursive --new-file orig/gdm-2.16.1/docs/C/gdm.xml gdm-2.16.1/docs/C/gdm.xml
--- orig/gdm-2.16.1/docs/C/gdm.xml	2006-10-03 00:34:00.000000000 +0200
+++ gdm-2.16.1/docs/C/gdm.xml	2007-01-25 20:17:58.000000000 +0100
@@ -2282,7 +2282,7 @@
             <listitem>
               <synopsis>TimedLoginEnable=false</synopsis>
               <para>
-                 If the user given in <filename>TimedLogin</filename> should be
+                If the user given in <filename>TimedLogin</filename> should be
                 logged in after a number of seconds (set with
                 <filename>TimedLoginDelay</filename>) of inactivity on the
                 login screen.  This is useful for public access terminals or
@@ -2301,6 +2301,18 @@
           </varlistentry>
 
           <varlistentry>
+            <term>TimedLoginFirstDisplay</term>
+            <listitem>
+              <synopsis>TimedLoginFirstDisplay=true</synopsis>
+              <para>
+                Enable <filename>TimedLogin</filename> on the first display, only.
+                If you set this to false, you probably need a script which generates
+                individual usernames.
+              </para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
             <term>TimedLogin</term>
             <listitem>
               <synopsis>TimedLogin=</synopsis>
