#!/bin/bash # use bash for "exec -l", howto run login shell by /bin/sh ? if [ $# -eq 1 -a -n "$1" ]; then LXSESSION=$1 else # default session LXSESSION=/usr/bin/startlxde fi [ -f /etc/profile ] && . /etc/profile [ -f ~/.profile ] && . ~/.profile [ -f /etc/xprofile ] && . /etc/xprofile [ -f ~/.xprofile ] && . ~/.xprofile if [ -f /etc/X11/xinit/xinitrc-common ]; then # fedora . /etc/X11/xinit/xinitrc-common if ! [ -z "$XDG_SESSION_COOKIE" ]; then CK_XINIT_SESSION= elif [ -x /usr/bin/ck-launch-session -a -z "$CK_XINIT_SESSION" ]; then CK_XINIT_SESSION="/usr/bin/ck-launch-session" fi exec -l $SHELL -c "$CK_XINIT_SESSION \"$LXSESSION\"" elif [ -x /etc/X11/xinit/Xsession ]; then # fedora exec /etc/X11/xinit/Xsession "$LXSESSION" elif [ -x /etc/X11/Xsession ]; then # mandriva, debian, ubuntu exec /etc/X11/Xsession "$LXSESSION" elif [ -x /etc/X11/xinit/xinitrc ]; then #suse export WINDOWMANAGER=$LXSESSION exec -l $SHELL -c /etc/X11/xinit/xinitrc else # unknown, user should custom /etc/lxdm/xinitrc self if [ -x /etc/lxdm/xinitrc ]; then . /etc/lxdm/xinitrc fi if ! [ -z "$XDG_SESSION_COOKIE" ]; then CK_XINIT_SESSION= elif [ -x /usr/bin/ck-launch-session ]; then CK_XINIT_SESSION="/usr/bin/ck-launch-session" fi exec -l $SHELL -c "$CK_XINIT_SESSION \"$LXSESSION\"" fi