From 8986e4b2efaf6df516a813b362a7c26d5f67dcaf Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Fri, 15 Apr 2005 17:44:24 +0000 Subject: early-login support --- prefdm | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) (limited to 'prefdm') diff --git a/prefdm b/prefdm index 303bfd2d..490e8462 100755 --- a/prefdm +++ b/prefdm @@ -2,7 +2,6 @@ PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin - # shut down any graphical boot that might exist if [ -x /usr/bin/rhgb-client ]; then /usr/bin/rhgb-client -quit @@ -26,12 +25,40 @@ fi shopt -s execfail -[ -n "$preferred" ] && exec $preferred "$@" >/dev/null 2>&1 +# If we're in early-login mode and something is running, bail out +if grep -q early-login /proc/cmdline 2> /dev/null ; then + if [ -n "$preferred" ]; then + pidof $preferred >/dev/null 2>&1 && exit 0 + fi + pidof gdm-binary >/dev/null 2>&1 && exit 0 + pidof kdm >/dev/null 2>&1 && exit 0 + pidof xdm >/dev/null 2>&1 && exit 0 +fi + +if [ -n "$preferred" ]; then + $preferred "$@" >/dev/null 2>&1 + if [ $? -ne 127 ]; then + exec $0 "$@" + exit $? + fi +fi # Fallbacks, in order -exec gdm "$@" >/dev/null 2>&1 -exec kdm "$@" >/dev/null 2>&1 -exec xdm "$@" >/dev/null 2>&1 +gdm "$@" >/dev/null 2>&1 +if [ $? -ne 127 ]; then + exec $0 "$@" + exit $? +fi +kdm "$@" >/dev/null 2>&1 +if [ $? -ne 127 ]; then + exec $0 "$@" + exit $? +fi +xdm "$@" >/dev/null 2>&1 +if [ $? -ne 127 ]; then + exec $0 "$@" + exit $? +fi # catch all exit error exit 1 -- cgit