diff options
Diffstat (limited to 'gentoo/trinity-base/kdm/files/kdm-3.5.13.2-xsession.script')
-rwxr-xr-x | gentoo/trinity-base/kdm/files/kdm-3.5.13.2-xsession.script | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/gentoo/trinity-base/kdm/files/kdm-3.5.13.2-xsession.script b/gentoo/trinity-base/kdm/files/kdm-3.5.13.2-xsession.script new file mode 100755 index 000000000..3106eea99 --- /dev/null +++ b/gentoo/trinity-base/kdm/files/kdm-3.5.13.2-xsession.script @@ -0,0 +1,66 @@ +#! /bin/sh +# Xsession - run as user + +session=$1 + +# 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 + setopt shwordsplit noextendedglob + ;; + */csh|*/tcsh) + # [t]cshrc is always sourced automatically. + # Note that sourcing csh.login after .cshrc is non-standard. + xsess_tmp=`mktemp /tmp/xsess-env-XXXXXX` + $SHELL -c "if (-f /etc/csh.login) source /etc/csh.login; if (-f ~/.login) source ~/.login; /bin/sh -c export -p >! $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 /bin/sh $HOME/.xsession + ;; + default) + exec /usr/trinity/3.5/bin/starttde + ;; + *) + eval exec "$session" + ;; +esac +exec xmessage -center -buttons OK:0 -default OK "Sorry, cannot execute $session. Check $DESKTOP_SESSION.desktop." |