Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /bin/sh
- # Xsession - run as user
- # This file is extracted from kde-workspace (kdm/kfrontend/genkdmconf.c)
- # Copyright (C) 2001-2005 Oswald Buddenhagen <ossi@kde.org>
- 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 "$@"
- [ -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
- emulate -R sh
- ;;
- */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 do not know.
- [ -f /etc/profile ] && . /etc/profile
- [ -f $HOME/.profile ] && . $HOME/.profile
- ;;
- esac
- [ -f /etc/xprofile ] && . /etc/xprofile
- [ -f $HOME/.xprofile ] && . $HOME/.xprofile
- # run all system xinitrc shell scripts.
- if [ -d /etc/X11/xinit/xinitrc.d ]; then
- for i in /etc/X11/xinit/xinitrc.d/* ; do
- if [ -x "$i" ]; then
- . "$i"
- fi
- done
- fi
- # Load Xsession scripts
- # OPTIONFILE, USERXSESSION, USERXSESSIONRC and ALTUSERXSESSION are required
- # by the scripts to work
- xsessionddir="/etc/X11/Xsession.d"
- OPTIONFILE=/etc/X11/Xsession.options
- USERXSESSION=$HOME/.xsession
- USERXSESSIONRC=$HOME/.xsessionrc
- ALTUSERXSESSION=$HOME/.Xsession
- if [ -d "$xsessionddir" ]; then
- for i in `ls $xsessionddir`; do
- script="$xsessionddir/$i"
- echo "Loading X session script $script"
- if [ -r "$script" -a -f "$script" ] && expr "$i" : '^[[:alnum:]_-]\+$' > /dev/null; then
- . "$script"
- fi
- done
- fi
- if [ -d /etc/X11/Xresources ]; then
- for i in /etc/X11/Xresources/*; do
- [ -f $i ] && xrdb -merge $i
- done
- elif [ -f /etc/X11/Xresources ]; then
- xrdb -merge /etc/X11/Xresources
- fi
- [ -f $HOME/.Xresources ] && xrdb -merge $HOME/.Xresources
- case $session in
- "")
- exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session."
- ;;
- *)
- eval exec "$session"
- ;;
- esac
- exec xmessage -center -buttons OK:0 -default OK "Sorry, cannot execute $session. Check $DESKTOP_SESSION.desktop."
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement