|
|
|
#! /bin/sh
|
|
|
|
# Xsession - run as user
|
|
|
|
|
|
|
|
# Merged in parts of the old Xsession to load defaults from
|
|
|
|
# Xresources and Xmodmap files, 2006-02-09 volkerdi
|
|
|
|
|
|
|
|
session=$1
|
|
|
|
|
|
|
|
# This section is borrowed from the old X11 Xsession file:
|
|
|
|
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
|
|
|
|
|
|
|
|
# Note that the respective logout scripts are not sourced.
|
|
|
|
case $SHELL in
|
|
|
|
*/bash)
|
|
|
|
[ -z "$BASH" ] && exec $SHELL $0 "$@"
|
|
|
|
set +o posix
|
|
|
|
[ -f /etc/profile ] && . /etc/profile
|
|
|
|
if [ -f $HOME/.bash_profile ]; then
|
|
|
|
. $HOME/.bash_profile
|
|
|
|
elif [ -f $HOME/.bash_login ]; then
|
|
|
|
. $HOME/.bash_login
|
|
|
|
elif [ -f $HOME/.profile ]; then
|
|
|
|
. $HOME/.profile
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
*/zsh)
|
|
|
|
[ -z "$ZSH_NAME" ] && exec $SHELL $0 "$@"
|
|
|
|
emulate -R zsh
|
|
|
|
[ -d /etc/zsh ] && zdir=/etc/zsh || zdir=/etc
|
|
|
|
zhome=${ZDOTDIR:-$HOME}
|
|
|
|
# zshenv is always sourced automatically.
|
|
|
|
[ -f $zdir/zprofile ] && . $zdir/zprofile
|
|
|
|
[ -f $zhome/.zprofile ] && . $zhome/.zprofile
|
|
|
|
[ -f $zdir/zlogin ] && . $zdir/zlogin
|
|
|
|
[ -f $zhome/.zlogin ] && . $zhome/.zlogin
|
|
|
|
;;
|
|
|
|
*/csh|*/tcsh)
|
|
|
|
# [t]cshrc is always sourced automatically.
|
|
|
|
# Note that sourcing csh.login after .cshrc is non-standard.
|
|
|
|
xsess_tmp=`mktemp`
|
|
|
|
$SHELL -c "if (-f /etc/csh.login) source /etc/csh.login; if (-f ~/.login) source ~/.login; /bin/sh -c export >! $xsess_tmp"
|
|
|
|
. $xsess_tmp
|
|
|
|
rm -f $xsess_tmp
|
|
|
|
;;
|
|
|
|
*) # Plain sh, ksh, and anything we don't know.
|
|
|
|
[ -f /etc/profile ] && . /etc/profile
|
|
|
|
[ -f $HOME/.profile ] && . $HOME/.profile
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
[ -f /etc/xprofile ] && . /etc/xprofile
|
|
|
|
[ -f $HOME/.xprofile ] && . $HOME/.xprofile
|
|
|
|
|
|
|
|
case $session in
|
|
|
|
"")
|
|
|
|
exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session."
|
|
|
|
;;
|
|
|
|
failsafe)
|
|
|
|
exec xterm -geometry 80x24-0-0
|
|
|
|
;;
|
|
|
|
custom)
|
|
|
|
exec $HOME/.xsession
|
|
|
|
;;
|
|
|
|
default)
|
|
|
|
exec ${INSTALL_TDE}/bin/starttde
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
eval exec "$session"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
exec xmessage -center -buttons OK:0 -default OK "Sorry, cannot execute $session. Check $DESKTOP_SESSION.desktop."
|