diff -rNaud lxdm-0.4.1-orig/INSTALL lxdm-0.4.1/INSTALL --- lxdm-0.4.1-orig/INSTALL 2011-07-29 15:42:33.000000000 +0200 +++ lxdm-0.4.1/INSTALL 2012-06-10 11:04:50.121000001 +0200 @@ -13,6 +13,9 @@ modify data/Xsession.in as your distribution +/etc/lxdm/Init +before the greeter + /etc/lxdm/PreLogin before login, have root's context diff -rNaud lxdm-0.4.1-orig/src/lxdm.c lxdm-0.4.1/src/lxdm.c --- lxdm-0.4.1-orig/src/lxdm.c 2011-07-29 15:42:33.000000000 +0200 +++ lxdm-0.4.1/src/lxdm.c 2012-06-10 11:04:41.577000001 +0200 @@ -495,11 +495,9 @@ gboolean plymouth; plymouth=plymouth_is_running(); - if(plymouth) - { - g_message("found plymouth running\n"); - plymouth_prepare_transition(); - } + + g_message("found plymouth running\n"); + plymouth_prepare_transition(); old_tty=get_active_vt(); if( !s ) s = g_strdup("/usr/bin/X"); @@ -527,16 +525,14 @@ /* use the active vt */ def_tty = old_tty; if( nr_tty ) unlink("/var/spool/gdm/force-display-on-active-vt"); - if(plymouth) - { - nr_tty=1; - plymouth_quit_with_transition(); - } + + nr_tty=1; + plymouth_quit_with_transition(); + } else { - if(plymouth) /* set tty and plymouth running */ - plymouth_quit_without_transition(); + plymouth_quit_without_transition(); } g_strfreev(arg); } @@ -1818,6 +1814,8 @@ lxcom_init("/var/run/lxdm/lxdm.sock"); atexit(exit_cb); + g_spawn_command_line_async("/etc/lxdm/Init",NULL); + set_signal(); lxdm_get_tty();