diff options
Diffstat (limited to 'sbin/Xsession')
-rw-r--r-- | sbin/Xsession | 108 |
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 |