#!/bin/sh #set -e # initramfs-tools header PREREQ="" prereqs() { echo "${PREREQ}" } case "${1}" in prereqs) prereqs exit 0 ;; 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" # 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 # 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 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} 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