#!/bin/bash
#
# set_login_type
#
# simply sets the login type to GRAPHICAL or TEXT-BASED
# makes sure user requesting the change is root
# then simply changes /etc/inittab initdefault id value to 3 or 4, accordingly
#
if [ "$1" == "" ]; then
	exit
fi

curUser=`whoami`
if [ ! "$curUser" = "root" ] ; then
	if [ -n "${DISPLAY}" ]; then
		DIALOG=Xdialog
		$DIALOG --title "Sorry \"$curUser\"" \
			--msgbox "\nYou must be logged in as root \n    to set login type.\n" 0 0
		fi
	exit 0
fi
if [ "$1" == "3" ]; then
	c=`grep id:3:initdefault: /etc/inittab`
	if [ ! "$c" == "" ]; then
		DIALOG=Xdialog
		$DIALOG --title "Hey --" --msgbox "\nLogin is already set to TEXT mode.\n" 0 0
		exit
	else
		cp /etc/inittab /etc/inittab.bak
		sed -e 's/id:4:initdefault:/id:3:initdefault:/' /etc/inittab > /etc/inittab.$$
		mv /etc/inittab.$$ /etc/inittab
		DIALOG=Xdialog
		$DIALOG --title "Success" --msgbox "\nLogin has been set to TEXT mode.\n" 0 0
	fi
	
elif [ "$1" == "4" ]; then
	c=`grep id:4:initdefault: /etc/inittab`
	if [ ! "$c" == "" ]; then
		DIALOG=Xdialog
		$DIALOG --title "Hey --" --msgbox "\nLogin is already set to GRAPHIC mode.\n" 0 0
		exit
	else
		cp /etc/inittab /etc/inittab.bak
		sed -e 's/id:3:initdefault:/id:4:initdefault:/' /etc/inittab > /etc/inittab.$$
		mv /etc/inittab.$$ /etc/inittab
		DIALOG=Xdialog
		$DIALOG --title "Success" --msgbox "\nLogin has been set to GRAPHIC mode.\n" 0 0
	fi
else
	exit
fi

