summaryrefslogtreecommitdiffstats
path: root/source/x/x11/post-install/xdm/Xsession
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2009-08-26 10:00:38 -0500
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:41:17 +0200
commit5a12e7c134274dba706667107d10d231517d3e05 (patch)
tree55718d5acb710fde798d9f38d0bbaf594ed4b296 /source/x/x11/post-install/xdm/Xsession
downloadcurrent-5a12e7c134274dba706667107d10d231517d3e05.tar.gz
current-5a12e7c134274dba706667107d10d231517d3e05.tar.xz
Slackware 13.0slackware-13.0
Wed Aug 26 10:00:38 CDT 2009 Slackware 13.0 x86_64 is released as stable! Thanks to everyone who helped make this release possible -- see the RELEASE_NOTES for the credits. The ISOs are off to the replicator. This time it will be a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. We're taking pre-orders now at store.slackware.com. Please consider picking up a copy to help support the project. Once again, thanks to the entire Slackware community for all the help testing and fixing things and offering suggestions during this development cycle. As always, have fun and enjoy! -P.
Diffstat (limited to 'source/x/x11/post-install/xdm/Xsession')
-rwxr-xr-xsource/x/x11/post-install/xdm/Xsession203
1 files changed, 203 insertions, 0 deletions
diff --git a/source/x/x11/post-install/xdm/Xsession b/source/x/x11/post-install/xdm/Xsession
new file mode 100755
index 000000000..6484b0965
--- /dev/null
+++ b/source/x/x11/post-install/xdm/Xsession
@@ -0,0 +1,203 @@
+#!/bin/sh
+# $XConsortium: Xsession /main/10 1995/12/18 18:21:28 gildea $
+#
+#
+# $XFree86: xc/programs/xdm/config/Xsession,v 1.2 1998/01/11 03:48:32 dawes Exp $
+# Modified for Slackware-3.5, 28-Mar-98 volkerdi
+# Extensively rewritten for Slackware 7.0, 03-Oct-1999 volkerdi
+# Patched to give priority to $HOME/.xsession, 10-Oct-1999 volkerdi
+# Merged changes into upstream (XFree86-4.0.2) version, 17-Feb-2001 volkerdi
+# Fixes for $PATH (from Jim Diamond), GDM/KDM/XDM, 2003-02-07 volkerdi
+# Use absolute paths until $PATH is set, 2006-01-11 (Al's 100th :-) volkerdi
+# merged changes from # $Xorg: Xsession,v 1.4 2000/08/17 19:54:17 cpqbld Exp $, 2007-02-13 volkerdi
+
+# redirect errors to a file in user's home directory if we can
+errfile="$HOME/.xsession-errors"
+if ( umask 077 && cp /dev/null "$errfile" 2> /dev/null )
+then
+ exec > "$errfile" 2>&1
+else
+
+ mktemp=/usr/bin/mktemp
+ for errfile in "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER"
+ do
+ if ef="$( umask 077 && $mktemp "$errfile.XXXXXX" 2> /dev/null)"
+ then
+ exec > "$ef" 2>&1
+ mv "$ef" "$errfile" 2> /dev/null
+ break
+ fi
+ done
+fi
+
+userresources=$HOME/.Xresources
+usermodmap=$HOME/.Xmodmap
+sysresources=/usr/lib/X11/xinit/.Xresources
+sysmodmap=/usr/lib/X11/xinit/.Xmodmap
+
+# merge in defaults and keymaps
+
+if [ -r $sysresources ]; then
+ /usr/bin/xrdb -merge $sysresources
+fi
+
+if [ -r $sysmodmap ]; then
+ /usr/bin/xmodmap $sysmodmap
+fi
+
+if [ -r $userresources ]; then
+ /usr/bin/xrdb -merge $userresources
+fi
+
+if [ -r $usermodmap ]; then
+ /usr/bin/xmodmap $usermodmap
+fi
+
+# Since xdm doesn't run a bash -login shell (or any other login shell)
+# we should source these files to set up the user's environment.
+profile=/etc/profile
+userprofile=~/.profile
+
+if [ -r $profile ]; then
+ source $profile 1> /dev/null 2> /dev/null
+fi
+if [ -r $userprofile ]; then
+ source $userprofile 1> /dev/null 2> /dev/null
+fi
+
+# Set the $PATH through the user's preferred shell.
+case `basename "$SHELL"` in
+bash|sh|ash)
+ PATH="`( echo 'echo $PATH' | bash --login ) | tail -1`"
+ ;;
+csh|tcsh)
+ PATH="`( echo 'echo $PATH' | tcsh -l ) | tail -1`"
+ ;;
+ksh)
+ PATH="`( cat /etc/profile ; echo 'echo $PATH' ) | ksh | tail -1`"
+ ;;
+zsh)
+ PATH="`( echo 'echo $PATH' | zsh -l ) | tail -1`"
+ ;;
+*)
+ # We don't know your shell, so we'll set up reasonable defaults.
+ if [ "`whoami`" = "root" ]; then
+ PATH=$PATH:/usr/local/sbin:/sbin:/usr/sbin:/usr/local/bin:/bin:/usr/bin
+ else
+ PATH=$PATH:/usr/local/bin:/bin:/usr/bin
+ fi
+ ;;
+esac
+
+# These files (if they exist) are used to set up the X related environment. We used to
+# exec .xsession at this location, but that can interfere with choosing a session type
+# through XDM/KDM/GDM so it was moved to after a requested session is started. Since
+# that means that .xsession might never be run at all when using XDM/KDM/GDM, support
+# for the xprofile was added to allow a way for the user to customize the X environment.
+if [ -r /etc/xprofile ]; then
+ source /etc/xprofile
+fi
+if [ -r ~/.xprofile ]; then
+ source ~/.xprofile
+fi
+
+# Some people say that an .xsession file should always be given priority, even if a
+# different window manager was requested in $1. If you want that behavior, uncomment
+# the lines below. This is not recommended (nor, in general, is the use of an
+# .xsession file as a default... it should be left for the advanced users).
+#if [ -x $HOME/.xsession ]; then
+# exec $HOME/.xsession $@
+#fi
+
+# If a particular session type was requested in $1, start that session:
+case "$1" in
+failsafe)
+ xsetroot -solid SteelBlue
+ exec xterm -geometry 80x24-0-0
+ ;;
+kde)
+ exec startkde
+ ;;
+gnome)
+ exec gnome-session
+ ;;
+openwin)
+ exec olvwm
+ ;;
+fluxbox)
+ exec fluxbox
+ ;;
+fvwm2)
+ xsetroot -solid SteelBlue
+ exec fvwm2
+ ;;
+fvwm95)
+ xsetroot -solid SteelBlue
+ exec fvwm95
+ ;;
+blackbox)
+ exec blackbox
+ ;;
+xfce)
+ exec /etc/X11/xinit/xinitrc.xfce
+ ;;
+windowmaker)
+ exec /etc/X11/xinit/xinitrc.wmaker
+ ;;
+afterstep)
+ exec afterstep
+ ;;
+enlightenment)
+ exec enlightenment
+ ;;
+twm)
+ #xclock -geometry 50x50-1+1 &
+ #xterm -geometry 80x50+494+51 &
+ #xterm -geometry 80x20+494-0 &
+ #xterm -geometry 80x66+0+0 -name login &
+ xsetroot -solid SteelBlue
+ exec twm
+ ;;
+esac
+
+# If we aren't running from XDM/KDM/GDM and no window manager was
+# specified, then we'll run the user's $HOME/.xsession if it's
+# executable. This must be set up to run the user's window manager.
+if [ -x $HOME/.xsession ]; then
+ exec $HOME/.xsession $@
+fi
+
+# If the user doesn't have their own xsession and none was specified in
+# $1, then run the system default session type:
+if [ -r /etc/X11/xinit/xinitrc ]; then
+ exec /etc/X11/xinit/xinitrc
+fi
+
+# If a $startup variable is set to define the window or session manager,
+# then run that:
+if [ -s "$startup" -a -x "$startup" ]; then
+ exec "$startup"
+else
+ if [ -r "$resources" ]; then
+ /usr/bin/xrdb -load "$resources"
+ fi
+ # Run xsm as a failsafe.
+ exec xsm
+fi
+
+startup=$HOME/.xsession
+resources=$HOME/.Xresources
+
+if [ -s "$startup" ]; then
+ if [ -x "$startup" ]; then
+ exec "$startup"
+ else
+ exec /bin/sh "$startup"
+ fi
+else
+ if [ -r "$resources" ]; then
+ /usr/bin/xrdb -load "$resources"
+ fi
+ exec /usr/bin/xsm
+fi
+