display-manager-autologin.sh 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #!/bin/sh
  2. # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
  3. # ex: ts=8 sw=4 sts=4 et filetype=sh
  4. type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
  5. USERNAME=$(getarg live.user)
  6. [ -z "$USERNAME" ] && USERNAME=anon
  7. # Configure GDM autologin
  8. if [ -d ${NEWROOT}/etc/gdm ]; then
  9. GDMCustomFile=${NEWROOT}/etc/gdm/custom.conf
  10. AutologinParameters="AutomaticLoginEnable=true\nAutomaticLogin=$USERNAME"
  11. # Prevent from updating if parameters already present (persistent usb key)
  12. if ! `grep -qs 'AutomaticLoginEnable' $GDMCustomFile` ; then
  13. if ! `grep -qs '\[daemon\]' $GDMCustomFile` ; then
  14. echo '[daemon]' >> $GDMCustomFile
  15. fi
  16. sed -i "s/\[daemon\]/\[daemon\]\n$AutologinParameters/" $GDMCustomFile
  17. fi
  18. fi
  19. # Configure lightdm autologin.
  20. if [ -r ${NEWROOT}/etc/lightdm.conf ]; then
  21. sed -i -e "s|^\#\(default-user=\).*|\1$USERNAME|" \
  22. ${NEWROOT}/etc/lightdm.conf
  23. sed -i -e "s|^\#\(default-user-timeout=\).*|\10|" \
  24. ${NEWROOT}/etc/lightdm.conf
  25. fi
  26. # Configure lxdm autologin.
  27. if [ -r ${NEWROOT}/etc/lxdm/lxdm.conf ]; then
  28. sed -i -e "s|^\#\# \(autologin=\).*|\1$USERNAME|" \
  29. ${NEWROOT}/etc/lxdm/lxdm.conf
  30. fi