aboutsummaryrefslogtreecommitdiffstats
path: root/sbin/Xsession
diff options
context:
space:
mode:
Diffstat (limited to 'sbin/Xsession')
-rw-r--r--sbin/Xsession108
1 files changed, 108 insertions, 0 deletions
diff --git a/sbin/Xsession b/sbin/Xsession
new file mode 100644
index 0000000..a83a953
--- /dev/null
+++ b/sbin/Xsession
@@ -0,0 +1,108 @@
+#!/bin/bash -login
+# (c) 1999 Red Hat Software, Inc.
+# Modification for Linux-Mandrake by Chmouel Boudjnah <chmouel@mandraksoft.com>
+
+xsetroot -solid #356390
+
+# redirect errors to a file in user's home directory if we can
+for errfile in "$HOME/.xsession-errors" "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER"
+do
+if ( cp /dev/null "$errfile" 2> /dev/null )
+then
+chmod 600 "$errfile"
+exec > "$errfile" 2>&1
+break
+fi
+done
+
+# clean up after xbanner
+if [ -f /usr/X11R6/bin/freetemp ]; then
+freetemp
+fi
+
+userresources=$HOME/.Xresources
+usermodmap=$HOME/.Xmodmap
+sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
+sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
+
+# merge in defaults and keymaps
+if [ -f $sysresources ]; then
+xrdb -merge $sysresources
+fi
+
+if [ -f $sysmodmap ]; then
+xmodmap $sysmodmap
+fi
+
+if [ -f $userresources ]; then
+xrdb -merge $userresources
+fi
+
+if [ -f $usermodmap ]; then
+xmodmap $usermodmap
+fi
+
+# now, we see if xdm/gdm/kdm has asked for a specific environment
+case $# in
+1)
+case $1 in
+KDE)
+exec startkde
+;;
+Gnome)
+exec gnome-session
+;;
+AfterStep)
+exec /usr/X11R6/bin/afterstep
+;;
+AnotherLevel)
+# we assume that switchdesk is installed.
+exec /usr/share/apps/switchdesk/Xclients.anotherlevel
+;;
+BlackBox)
+exec /usr/X11R6/bin/bbdrake
+;;
+# Work but some end users don't understant how it works. So, we disable it.
+#BlackBox/KDE)
+#exec /usr/X11R6/bin/bbdrake_kde
+#;;
+Enlightenment)
+exec /usr/bin/enlightenment
+;;
+FVWM)
+exec /usr/X11R6/bin/fvwm
+;;
+FVWM2)
+exec /usr/X11R6/bin/fvwm2
+;;
+IceWM)
+exec /usr/X11R6/bin/icewm
+;;
+MWM)
+exec /usr/X11R6/mwm
+;;
+WindowMaker)
+[ -f $HOME/GNUstep/Defaults/WindowMaker ] || {
+/usr/X11R6/bin/wmaker.inst --batch
+}
+exec /usr/X11R6/bin/wmaker
+;;
+XFCE)
+exec /usr/X11R6/bin/xfwm
+;;
+FailSafe)
+exec xterm -geometry 80x24-0-0
+;;
+esac
+esac
+
+# otherwise, take default action
+if [ -x "$HOME/.xsession" ]; then
+exec "$HOME/.xsession"
+elif [ -x "$HOME/.Xclients" ]; then
+exec "$HOME/.Xclients"
+elif [ -x /etc/X11/xinit/Xclients ]; then
+exec /etc/X11/xinit/Xclients
+else
+exec xsm
+fi