Adding upstream version 1.236.1.
[live-boot-grml.git] / scripts / live-bottom / 15autologin
index 2c880b7..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
@@ -53,10 +55,29 @@ 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 [ -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}
@@ -64,6 +85,8 @@ AUTOLOGINAGAIN=true
 AUTOLOGINDELAY=0
 EOF
 
+       fi
+
 elif [ -f /root/etc/kde3/kdm/kdmrc ]
 then
        # Configure KDM autologin
@@ -71,13 +94,21 @@ then
                  -e "s/^#?AutoLoginUser=.*\$/AutoLoginUser=${USERNAME}/" \
                  -e "s/^#?AutoReLogin=.*\$/AutoReLogin=true/" \
        /root/etc/kde3/kdm/kdmrc
-elif [ -f /root/usr/lib/kde4/etc/kde4/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/usr/lib/kde4/etc/kde4/kdm/kdmrc
+       /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