#!/bin/bash clear() { sed -i '/AutoLoginEnable=/s/.*/#\0/' /etc/kde/kdm/kdmrc sed -i '/AutoLoginAgain=/s/.*/#\0/' /etc/kde/kdm/kdmrc sed -i '/AutoLoginUser=/s/.*/#\0/' /etc/kde/kdm/kdmrc } kdmrestart() { # We started using this F15 # systemctl restart prefdm.service # This is the name of the service under F20 systemctl restart display-manager.service } stop() { #echo "NORMAL KDM" clear #kdmrestart } start() { echo "KDM AUTOLOGIN FOR ${ESAME_USER}" sed -i '/#*AutoLoginEnable/s/.*/AutoLoginEnable=true/' /etc/kde/kdm/kdmrc sed -i '/#*AutoLoginAgain/s/.*/AutoLoginAgain=true/' /etc/kde/kdm/kdmrc # 1) .* get expanded by the shell if in double quotes... # 2) $ESAME_USER does not get expanded if in single quotes... # 3) We want the former as is, and the latter expanded. # So, one solution is the following: SEDCMD="/#*AutoLoginUser/s/"'.*'"/AutoLoginUser=$ESAME_USER/" sed -i "$SEDCMD" /etc/kde/kdm/kdmrc #sleep 5 kdmrestart } case "$1" in 'start') start ;; 'stop') stop ;; 'restart') stop start ;; *) echo "Usage: $0 { start | stop | restart }"; exit 1; ;; esac exit 0