X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive-bottom%2F15autologin;h=12c937d2e9e1a96e37812759de49bb31ae49d42e;hb=7111ab7c3b1220384a8f576e170ba3910110ad97;hp=4de38f9f55c2822115430136e04ec28d7f58fcd2;hpb=d0fbcc9b3747ab4339f7487e7d845b467962139c;p=live-boot-grml.git diff --git a/scripts/live-bottom/15autologin b/scripts/live-bottom/15autologin index 4de38f9..12c937d 100755 --- a/scripts/live-bottom/15autologin +++ b/scripts/live-bottom/15autologin @@ -20,61 +20,95 @@ esac # live-initramfs header +. /live.vars + +if [ -n "${NOXAUTOLOGIN}" ] || [ -z "${USERNAME}" ] +then + exit 0 +fi + . /scripts/live-functions -log_begin_msg "Setting up automatic login..." +log_begin_msg "Setting up automatic login" # live-initramfs script -if [ -z "${NOXAUTOLOGIN}" ] -then - # chroot needed to handle symlinks correctly -if chroot /root [ -f /etc/gdm/gdm-cdd.conf ]; then - GDMCONF=/etc/gdm/gdm-cdd.conf +if chroot /root [ -f /etc/gdm/gdm-cdd.conf ] +then + GDMCONF=/etc/gdm/gdm-cdd.conf else - GDMCONF=/etc/gdm/gdm.conf + GDMCONF=/etc/gdm/gdm.conf 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 - - # 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} +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 + 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 ]; 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 -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} +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 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 <&2 - echo "Because kpersonalizerrc already exists" >&2 - 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