summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--daemon/gdm-server.c8
-rw-r--r--daemon/gdm-session-worker.c4
2 files changed, 11 insertions, 1 deletions
diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
index 53d78410..6d2d6cd5 100644
--- a/daemon/gdm-server.c
+++ b/daemon/gdm-server.c
@@ -165,6 +165,14 @@ _gdm_server_query_ck_for_display_device (GdmServer *server)
char *
gdm_server_get_display_device (GdmServer *server)
{
+#ifdef WITH_SYSTEMD
+ /* systemd finds the display device out on its own based on the display */
+ return NULL;
+#endif
+
+#ifndef WITH_CONSOLE_KIT
+ return NULL;
+#endif
if (server->priv->display_device == NULL) {
server->priv->display_device =
_gdm_server_query_ck_for_display_device (server);
diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c
index 1136bb4b..57f10718 100644
--- a/daemon/gdm-session-worker.c
+++ b/daemon/gdm-session-worker.c
@@ -1142,7 +1142,9 @@ gdm_session_worker_initialize_pam (GdmSessionWorker *worker,
/* set TTY */
pam_tty = _get_tty_for_pam (x11_display_name, display_device);
- error_code = pam_set_item (worker->priv->pam_handle, PAM_TTY, pam_tty);
+ if (pam_tty != NULL && pam_tty[0] != '\0') {
+ error_code = pam_set_item (worker->priv->pam_handle, PAM_TTY, pam_tty);
+ }
g_free (pam_tty);
if (error_code != PAM_SUCCESS) {