#!/bin/sh PREREQ="" DESCRIPTION="Setting up automatic login..." prereqs() { echo "$PREREQ" } case $1 in # get pre-requisites prereqs) prereqs exit 0 ;; esac . /scripts/casper-functions log_begin_msg "$DESCRIPTION" if [ -d /root/etc/gdm ]; then # Configure GDM autologin GDMCustomFile=/root/etc/gdm/custom.conf AutologinParameters="AutomaticLogin=$USERNAME\n\ TimedLoginEnable=true\n\ TimedLogin=$USERNAME\n\ TimedLoginDelay=1" # 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 printf "[com.canonical.indicator.session]\nsuppress-logout-menuitem=true\n" >> /root/usr/share/glib-2.0/schemas/casper.gschema.override chroot /root glib-compile-schemas /usr/share/glib-2.0/schemas/ fi fi if [ -f /root/etc/kde4/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/kde4/kdm/kdmrc fi if [ -f /root/etc/lxdm/lxdm.conf ]; then # Configure LXDM autologin with LXDE session sed -i -r \ -e "s/^# autologin=dgod/autologin=$USERNAME/" \ -e "s/^# session/session/" \ -e "s/startlxde/startlubuntu/" \ /root/etc/lxdm/lxdm.conf fi if [ -f /root/etc/xdg/lubuntu/lxdm/lxdm.conf ]; then # Configure LXDM autologin with Lubuntu session sed -i -r \ -e "s/^# autologin=dgod/autologin=$USERNAME/" \ -e "s/^# session/session/" \ -e "s/startlxde/startlubuntu/" \ /root/etc/xdg/lubuntu/lxdm/lxdm.conf fi if [ -d /root/etc/lightdm ]; then # Configure LightDM autologin LightDMCustomFile=/root/etc/lightdm/lightdm.conf AutologinParameters="allow-guest=false\n\ autologin-guest=false\n\ autologin-user=$USERNAME\n\ autologin-user-timeout=0\n" session="gnome-fallback" # Hook to solve some if [ -e "/root/usr/share/xsessions/xfce.desktop" ] ; then #session="xfce" #LliureX Lite session="lite" fi AutologinParameters="$AutologinParameters""autologin-session=$session\n" # Prevent from updating if parameters already present (persistent usb key) if ! `grep -qs '^autologin-user' $LightDMCustomFile` ; then if ! `grep -qs '\[SeatDefaults\]' $LightDMCustomFile` ; then echo '[SeatDefaults]' >> $LightDMCustomFile fi sed -i "s/\[SeatDefaults\]/\[SeatDefaults\]\n$AutologinParameters/" $LightDMCustomFile sed -i "s/\([[:blank:]]*user-session=\).*/\1$session/" $LightDMCustomFile fi # LightDM on kubuntu-active wants to start ubuntu.desktop, workaround here for now jriddell 2012-03-15 if [ -e /root/usr/share/xsessions/plasma-active.desktop ]; then cp /root/usr/share/xsessions/plasma-active.desktop /root/usr/share/xsessions/ubuntu.desktop fi fi [ ! -f /root/usr/share/xsessions/ubuntu.desktop ] || rm -f /root/usr/share/xsessions/ubuntu.desktop [ ! -f /root/usr/share/xsessions/xterm.desktop ] || rm -f /root/usr/share/xsessions/xterm.desktop [ ! -f /root/usr/share/xsessions/ubuntu-2d.desktop ] || rm -f /root/usr/share/xsessions/ubuntu-2d.desktop [ ! -f /root/usr/share/gnome-session/sessions/ubuntu-2d.session ] || rm -f /root/usr/share/gnome-session/sessions/ubuntu-2d.session [ ! -f /root/usr/share/gnome-session/sessions/gnome.session ] || rm -f /root/usr/share/gnome-session/sessions/gnome.session [ ! -f /root/usr/share/gnome-session/sessions/ubuntu.session ] || rm -f /root/usr/share/gnome-session/sessions/ubuntu.session [ ! -f /root/var/lib/AccountsService/users/ubuntu ] || rm -f /root/var/lib/AccountsService/users/ubuntu log_end_msg