X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive-bottom%2F15autologin;h=2758c95ac39e5b33a4e4bcfd18ce0c2062b2ddb2;hb=1bad81c0450e84a94dc1d5f4ead9886f15749b80;hp=40383cbf2fa5506c1456590d92f38eb444c844df;hpb=fdd8036ba32ad88e83a61191cc4597ae060355d2;p=live-boot-grml.git diff --git a/scripts/live-bottom/15autologin b/scripts/live-bottom/15autologin index 40383cb..2758c95 100755 --- a/scripts/live-bottom/15autologin +++ b/scripts/live-bottom/15autologin @@ -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,29 +44,66 @@ 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 \ sed -i -e "s/^AutomaticLoginEnable=.*\$/AutomaticLoginEnable=true/" \ - -e "s/^AutomaticLogin=.*\$/AutomaticLogin=$USERNAME/" \ + -e "s/^AutomaticLogin=.*\$/AutomaticLogin=${USERNAME}/" \ -e "s/^TimedLoginEnable=.*\$/TimedLoginEnable=true/" \ - -e "s/^TimedLogin=.*\$/TimedLogin=$USERNAME/" \ + -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 'AutomaticLoginEnable' $GDMCustomFile) + then + if $(grep -qs '\[daemon\]' $GDMCustomFile) + then + sed -i "s/\[daemon\]/\[daemon\]\n$AutologinParameters/" $GDMCustomFile + else + echo -e "[daemon]\n$AutologinParameters" >> $GDMCustomFile + fi + fi 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/^#?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 log_end_msg