#!/bin/sh

PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
HOME=/root
export HOME

# We need to source this so that the login screens get translated
. /etc/profile.d/lang.sh

killed () {
    kill -TERM $!
    exit
}

# trap signals to be able to kill autologin
trap killed SIGHUP SIGPIPE SIGINT SIGTERM

# Run preferred X display manager

# Try autologin first, if wanted...
AUTOLOGIN=/usr/sbin/autologin
if [ -x "$AUTOLOGIN" -a -s /etc/sysconfig/autologin ]; then
	"$AUTOLOGIN" &
	wait $!
fi

preferred=
log=
if [ -s /etc/sysconfig/desktop ]; then
	if fgrep -qs GNOME /etc/sysconfig/desktop; then
		preferred=gdm
	elif fgrep -qs KDE /etc/sysconfig/desktop; then
		preferred=kdm
		log=1
	elif fgrep -qs WindowMaker /etc/sysconfig/desktop; then
		preferred=wdm
	elif fgrep -qs AnotherLevel /etc/sysconfig/desktop; then
		preferred=xdm
	fi
fi
if [ -n "$preferred" ] && which "$preferred" &>/dev/null; then 
    if [ -n "$log" ]; then
	exec "$preferred" >/dev/null 2>&1 $@
    else
	exec "$preferred" $@
    fi
fi

if which kdm &>/dev/null; then
	preferred=kdm
	log=1
elif which gdm &>/dev/null; then
	preferred=gdm
elif which wdm &>/dev/null; then
	preferred=wdm
elif which xdm &>/dev/null; then
	preferred=xdm
fi

if [ -n "$preferred" ] && which "$preferred" &>/dev/null; then 
    if [ -n "$log" ]; then
	exec "$preferred" >/dev/null 2>&1 $@
    else
	exec "$preferred" $@
    fi
fi

exit 1
