X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive-bottom%2F15autologin;h=3f85d501547bcb974d2f14f16ad6d5e976ecd6df;hb=24b9fd1c70013f5847d3a4658e56bd44534e7890;hp=4b64dc7d8ce91290b78048dea07f1635ed2a33ef;hpb=9fc9e2a1a11b0edada38cb501fefe4f58aa414ac;p=live-boot-grml.git diff --git a/scripts/live-bottom/15autologin b/scripts/live-bottom/15autologin index 4b64dc7..3f85d50 100755 --- a/scripts/live-bottom/15autologin +++ b/scripts/live-bottom/15autologin @@ -1,62 +1,101 @@ #!/bin/sh -PREREQ="" -DESCRIPTION="Setting up automatic login..." +#set -e -. /scripts/live-functions +# initramfs-tools header + +PREREQ="" prereqs() { - echo "$PREREQ" + echo "${PREREQ}" } -case $1 in -# get pre-requisites -prereqs) - prereqs - exit 0 - ;; +case "${1}" in + prereqs) + prereqs + exit 0 + ;; esac -log_begin_msg "$DESCRIPTION" +# live-initramfs header -if chroot /root [ -f /etc/gdm/gdm-cdd.conf ]; then - GDMCONF=/etc/gdm/gdm-cdd.conf -else - GDMCONF=/etc/gdm/gdm.conf +. /live.vars + +if [ -n "${NOXAUTOLOGIN}" ] || [ -z "${USERNAME}" ] +then + exit 0 fi -if chroot /root [ -f ${GDMCONF} ]; then - # Configure GDM autologin - chroot /root sed -i \ - -e "s/^AutomaticLoginEnable=.*\$/AutomaticLoginEnable=true/" \ - -e "s/^AutomaticLogin=.*\$/AutomaticLogin=$USERNAME/" \ - -e "s/^TimedLoginEnable=.*\$/TimedLoginEnable=true/" \ - -e "s/^TimedLogin=.*\$/TimedLogin=$USERNAME/" \ - -e "s/^TimedLoginDelay=.*\$/TimedLoginDelay=10/" \ - ${GDMCONF} +. /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 + GDMCONF=/etc/gdm/gdm-cdd.conf +else + GDMCONF=/etc/gdm/gdm.conf fi -if [ -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 +# chroot needed to handle symlinks correctly +if chroot /root [ -f ${GDMCONF} ] +then + # 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/^TimedLoginEnable=.*\$/TimedLoginEnable=true/" \ + -e "s/^TimedLogin=.*\$/TimedLogin=${USERNAME}/" \ + -e "s/^TimedLoginDelay=.*\$/TimedLoginDelay=10/" \ + ${GDMCONF} +elif [ -d /root/etc/gdm3 ] +then + +cat > /root/etc/gdm3/custom.conf << EOF +[daemon] +AutomaticLoginEnable=true +AutomaticLogin=$USERNAME +TimedLoginEnable=true +TimedLogin=$USERNAME +TimedLoginDelay=10 +EOF + fi -if chroot /root /usr/bin/which kpersonalizer >/dev/null; then - # Disable first-login wizard for KDE - if [ ! -f /root/etc/kde3/kpersonalizerrc ]; then - cat > /root/etc/kde3/kpersonalizerrc <> /root/etc/default/kdm.d/live-autologin << EOF +AUTOLOGINUSER=${USERNAME} +AUTOLOGINAGAIN=true +AUTOLOGINDELAY=0 EOF - else - echo "I'm not smart enough to disable kpersonalizer startup" >&2 - echo "Because kpersonalizerrc already exists" >&2 - fi + + 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 log_end_msg