Adding upstream version 1.236.1.
[live-boot-grml.git] / scripts / live-bottom / 15autologin
index b0ce90d..12c937d 100755 (executable)
@@ -20,17 +20,19 @@ esac
 
 # live-initramfs header
 
-. /scripts/live-functions
-
-log_begin_msg "Setting up automatic login..."
-
-# live-initramfs script
+. /live.vars
 
-if [ -n "${NOXAUTOLOGIN}" ]
+if [ -n "${NOXAUTOLOGIN}" ] || [ -z "${USERNAME}" ]
 then
        exit 0
 fi
 
+. /scripts/live-functions
+
+log_begin_msg "Setting up automatic login"
+
+# live-initramfs script
+
 # chroot needed to handle symlinks correctly
 if chroot /root [ -f /etc/gdm/gdm-cdd.conf ]
 then
@@ -42,11 +44,8 @@ fi
 # chroot needed to handle symlinks correctly
 if chroot /root [ -f ${GDMCONF} ]
 then
-       if [ "${BUILD_SYSTEM}" = "Debian" ]
-       then
-               # true hack ! -- nohar
-               chroot /root cp /usr/share/gdm/defaults.conf /etc/gdm/gdm.conf
-       fi
+       # true hack ! -- nohar
+       chroot /root cp /usr/share/gdm/defaults.conf /etc/gdm/gdm.conf
 
        # Configure GDM autologin
        chroot /root \
@@ -56,15 +55,60 @@ then
               -e "s/^TimedLogin=.*\$/TimedLogin=${USERNAME}/" \
               -e "s/^TimedLoginDelay=.*\$/TimedLoginDelay=10/" \
        ${GDMCONF}
+elif [ -d /root/etc/gdm3 ]
+then
+       GDMCustomFile=/root/etc/gdm3/custom.conf
+       AutologinParameters="AutomaticLoginEnable=true\n\
+AutomaticLogin=$USERNAME\n\
+TimedLoginEnable=true\n\
+TimedLogin=$USERNAME\n\
+TimedLoginDelay=10"
+
+       # Prevent from updating if parameters already present (persistent usb
+       # key)
+       if ! $(grep -qs '\[daemon\]' $GDMCustomFile)
+       then
+               echo '[daemon]' >> $GDMCustomFile
+       fi
+
+       sed -i "s/\[daemon\]/\[daemon\]\n$AutologinParameters/" $GDMCustomFile
 fi
 
-if [ -f /root/etc/kde3/kdm/kdmrc ]
+if [ -d /root/etc/default/kdm.d/ ]
+then
+       if ! grep -qs "^AUTOLOGIN" /root/etc/default/kdm.d/live-autologin
+       then
+
+cat >> /root/etc/default/kdm.d/live-autologin << EOF
+AUTOLOGINUSER=${USERNAME}
+AUTOLOGINAGAIN=true
+AUTOLOGINDELAY=0
+EOF
+
+       fi
+
+elif [ -f /root/etc/kde3/kdm/kdmrc ]
 then
        # Configure KDM autologin
        sed -i -r -e "s/^#?AutoLoginEnable=.*\$/AutoLoginEnable=true/" \
                  -e "s/^#?AutoLoginUser=.*\$/AutoLoginUser=${USERNAME}/" \
                  -e "s/^#?AutoReLogin=.*\$/AutoReLogin=true/" \
        /root/etc/kde3/kdm/kdmrc
+elif [ -f /root/etc/kde4/kdm/kdmrc ]
+then
+       # Configure KDM-KDE4 autologin
+       sed -i -r -e "s/^#?AutoLoginEnable=.*\$/AutoLoginEnable=true/" \
+                 -e "s/^#?AutoLoginUser=.*\$/AutoLoginUser=$USERNAME/" \
+                 -e "s/^#?AutoReLogin=.*\$/AutoReLogin=true/" \
+       /root/etc/kde4/kdm/kdmrc
+fi
+
+if [ -f /root/etc/lxdm/lxdm.conf ]
+then
+       # Configure LXDM autologin
+       sed -i -r -e "s/^# autologin=dgod/autologin=$USERNAME/" \
+                 -e "s/^# session/session/" \
+       /root/etc/lxdm/lxdm.conf
 fi
 
 log_end_msg