diff options
Diffstat (limited to 'dracut/vmklive-display-manager-autologin.sh')
-rw-r--r-- | dracut/vmklive-display-manager-autologin.sh | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/dracut/vmklive-display-manager-autologin.sh b/dracut/vmklive-display-manager-autologin.sh new file mode 100644 index 0000000..bac3bc2 --- /dev/null +++ b/dracut/vmklive-display-manager-autologin.sh @@ -0,0 +1,34 @@ +#!/bin/sh +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +USERNAME=$(getarg live.user) +[ -z "$USERNAME" ] && USERNAME=anon + +# Configure GDM autologin +if [ -d ${NEWROOT}/etc/gdm ]; then + GDMCustomFile=${NEWROOT}/etc/gdm/custom.conf + AutologinParameters="AutomaticLoginEnable=true\nAutomaticLogin=$USERNAME" + + # Prevent from updating if parameters already present (persistent usb key) + if ! `grep -qs 'AutomaticLoginEnable' $GDMCustomFile` ; then + if ! `grep -qs '\[daemon\]' $GDMCustomFile` ; then + echo '[daemon]' >> $GDMCustomFile + fi + sed -i "s/\[daemon\]/\[daemon\]\n$AutologinParameters/" $GDMCustomFile + fi +fi + +# Configure lightdm autologin. +if [ -r ${NEWROOT}/etc/lightdm.conf ]; then + sed -i -e "s|^\#\(default-user=\).*|\1$USERNAME|" \ + ${NEWROOT}/etc/lightdm.conf + sed -i -e "s|^\#\(default-user-timeout=\).*|\10|" \ + ${NEWROOT}/etc/lightdm.conf +fi + +# Configure lxdm autologin. +if [ -r ${NEWROOT}/etc/lxdm/lxdm.conf ]; then + sed -i -e "s|^\#\# \(autologin=\).*|\1$USERNAME|" \ + ${NEWROOT}/etc/lxdm/lxdm.conf +fi |