diff --exclude=rules -ru orig/gdm-2.19.4/daemon/gdmconsolekit.c gdm-2.19.4/daemon/gdmconsolekit.c
--- orig/gdm-2.19.4/daemon/gdmconsolekit.c	2007-07-10 00:16:14.000000000 +0100
+++ gdm-2.19.4/daemon/gdmconsolekit.c	2007-07-31 19:37:22.000000000 +0100
@@ -31,6 +31,7 @@
 #include <dbus/dbus-glib-lowlevel.h>
 
 #include "gdm-log.h" /* for gdm_debug */
+#include "slave.h"
 #include "gdmconsolekit.h"
 
 
@@ -348,6 +349,68 @@
 }
 
 void
+notify_ck_parking_place (GdmDisplay *d)
+{
+	DBusError       error;
+	DBusConnection *connection = NULL;
+	gchar          *device_name = NULL;
+	DBusMessage    *message = NULL;
+	DBusMessage    *reply = NULL;
+	DBusMessageIter iter;
+
+	dbus_error_init (&error);
+
+	if (d->name == NULL) goto xit;
+	if (!d->attached) goto xit;
+	if (d->vtnum == -1) goto xit;
+
+	device_name = gdm_slave_get_display_device (d);
+	if (device_name == NULL) goto xit;
+
+	connection = dbus_bus_get_private (DBUS_BUS_SYSTEM, &error);
+	if (connection == NULL) {
+		gdm_debug ("ConsoleKit: Failed to connect to the D-Bus daemon for SetX11ParkingPlace: %s", error.message);
+		goto xit;
+	}
+
+	dbus_connection_set_exit_on_disconnect (connection, FALSE);
+	dbus_connection_setup_with_g_main (connection, NULL);
+	
+	message = dbus_message_new_method_call (CK_NAME,
+						CK_MANAGER_PATH,
+						CK_MANAGER_INTERFACE,
+						"SetX11ParkingPlace");
+	if (message == NULL) {
+		gdm_debug ("ConsoleKit: Couldn't allocate the D-Bus message"
+			   " for SetX11ParkingPlace");
+		goto xit;
+	}
+
+	dbus_message_iter_init_append (message, &iter);
+	dbus_message_iter_append_basic (&iter,
+					DBUS_TYPE_STRING,
+					&d->name);
+	dbus_message_iter_append_basic (&iter,
+					DBUS_TYPE_STRING,
+					&device_name);
+	reply = dbus_connection_send_with_reply_and_block (connection,
+							   message,
+							   -1, &error);
+	if (dbus_error_is_set (&error)) {
+		gdm_debug ("ConsoleKit: %s raised by SetX11ParkingPlace:\n %s\n\n", error.name, error.message);
+		reply = NULL;
+	}
+
+xit:
+	if (connection) dbus_connection_flush (connection);
+	if (message) dbus_message_unref (message);
+	if (reply) dbus_message_unref (reply);
+	dbus_error_free (&error);
+        if (connection) dbus_connection_close (connection);
+	g_free (device_name);
+}
+
+void
 unlock_ck_session (const char *user,
 		   const char *x11_display)
 {
Only in gdm-2.19.4/daemon: gdmconsolekit.c~
diff --exclude=rules -ru orig/gdm-2.19.4/daemon/gdmconsolekit.h gdm-2.19.4/daemon/gdmconsolekit.h
--- orig/gdm-2.19.4/daemon/gdmconsolekit.h	2007-07-10 00:16:14.000000000 +0100
+++ gdm-2.19.4/daemon/gdmconsolekit.h	2007-07-31 19:06:35.000000000 +0100
@@ -34,6 +34,7 @@
 void        close_ck_session      (const char    *cookie);
 void        unlock_ck_session     (const char    *user,
                                    const char    *x11_display);
+void        notify_ck_parking_place (GdmDisplay *display);
 
 G_END_DECLS
 
Only in gdm-2.19.4/daemon: gdmconsolekit.h~
diff --exclude=rules -ru orig/gdm-2.19.4/daemon/slave.c gdm-2.19.4/daemon/slave.c
--- orig/gdm-2.19.4/daemon/slave.c	2007-07-10 00:16:14.000000000 +0100
+++ gdm-2.19.4/daemon/slave.c	2007-07-31 18:18:50.000000000 +0100
@@ -2594,6 +2594,10 @@
 	const char *gdmlang;
 
 	gdm_debug ("gdm_slave_greeter: Running greeter on %s", d->name);
+#ifdef WITH_CONSOLE_KIT
+	if (d->type == TYPE_STATIC)
+		notify_ck_parking_place (d);
+#endif
 
 	/* Run the init script. gdmslave suspends until script has terminated */
 	gdm_slave_exec_script (d, gdm_daemon_config_get_value_string (GDM_KEY_DISPLAY_INIT_DIR),
Only in gdm-2.19.4/daemon: slave.c~
Only in gdm-2.19.4/debian: rules~
