SVN: xinitrc-ng/trunk/prefdm

baggins baggins at pld-linux.org
Thu Mar 15 12:14:42 CET 2012


Author: baggins
Date: Thu Mar 15 12:14:42 2012
New Revision: 12489

Added:
   xinitrc-ng/trunk/prefdm
Log:
- add script to run preferred Display Manager


Added: xinitrc-ng/trunk/prefdm
==============================================================================
--- (empty file)
+++ xinitrc-ng/trunk/prefdm	Thu Mar 15 12:14:42 2012
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+
+# We need to source this so that the login screens get translated
+[ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
+[ -f /etc/locale.conf ] && . /etc/locale.conf
+
+# Run preferred X display manager
+preferred=
+splash_quit_command=""
+if [ -f /etc/sysconfig/desktop ]; then
+	. /etc/sysconfig/desktop
+	if [ "$DISPLAYMANAGER" = GNOME ]; then
+		preferred=/usr/sbin/gdm
+	elif [ "$DISPLAYMANAGER" = KDE ]; then
+		preferred=/usr/bin/kdm
+	elif [ "$DISPLAYMANAGER" = LXDE ]; then
+		preferred=/usr/sbin/lxdm
+		splash_quit_command="plymouth quit"
+	elif [ "$DISPLAYMANAGER" = WDM ]; then
+		preferred=/usr/bin/wdm
+		splash_quit_command="plymouth quit"
+	elif [ "$DISPLAYMANAGER" = XDM ]; then
+		preferred=/usr/bin/xdm
+		splash_quit_command="plymouth quit"
+	elif [ -n "$DISPLAYMANAGER" ]; then
+		preferred=$DISPLAYMANAGER
+		splash_quit_command="plymouth quit"
+	fi
+fi
+
+# shut down boot splash
+$splash_quit_command >/dev/null 2>&1
+
+[ -n "$preferred" -a -x "$preferred" ] && exec $preferred "$@" >/dev/null 2>&1 </dev/null
+
+# Fallbacks, in order
+[ -x /usr/bin/xdm ] && exec /usr/bin/xdm "$@" >/dev/null 2>&1 </dev/null
+[ -x /usr/sbin/lxdm ] && exec /usr/sbin/lxdm "$@" >/dev/null 2>&1 </dev/null
+[ -x /usr/sbin/gdm ] && exec /usr/sbin/gdm "$@" >/dev/null 2>&1 </dev/null
+[ -x /usr/bin/kdm ] && exec /usr/bin/kdm "$@" >/dev/null 2>&1 </dev/null
+[ -x /usr/bin/wdm ] && exec /usr/bin/wdm "$@" >/dev/null 2>&1 </dev/null
+
+# catch all exit error
+plymouth quit >/dev/null 2>&1
+exit 1


More information about the pld-cvs-commit mailing list