Set the GDMFLEXISERVER environment variable for the gdmflexiserver wrapper. Index: lightdm-1.30.0/src/Makefile.am =================================================================== --- lightdm-1.30.0.orig/src/Makefile.am +++ lightdm-1.30.0/src/Makefile.am @@ -78,6 +78,7 @@ lightdm_CFLAGS = \ $(WARN_CFLAGS) \ $(LIGHTDM_CFLAGS) \ -I"$(top_srcdir)/common" \ + -DPKGLIBEXEC_DIR=\"$(pkglibexecdir)\" \ -DSBIN_DIR=\"$(sbindir)\" \ -DUSERS_DIR=\"$(localstatedir)/lib/lightdm-data\" \ -DLOG_DIR=\"$(localstatedir)/log/lightdm\" \ Index: lightdm-1.30.0/src/session-child.c =================================================================== --- lightdm-1.30.0.orig/src/session-child.c +++ lightdm-1.30.0/src/session-child.c @@ -622,6 +622,8 @@ session_child_run (int argc, char **argv pam_putenv (pam_handle, value); } + pam_putenv (pam_handle, g_strdup_printf ("GDMFLEXISERVER=%s", PKGLIBEXEC_DIR "/gdmflexiserver")); + /* Catch terminate signal and pass it to the child */ signal (SIGTERM, signal_cb);