#!/bin/sh source /etc/xdm-xfreq/xdm-xfreq.rc # provided by xlogin*login.translations::set-session-argument() case $# in 0) session_argument="userhome" ;; *) session_argument=$* ;; esac # redirect errors to a file in user's home directory if we can errfile=$XSESSION_ERR_PATH 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 case $session_argument in userhome) # The startup script is not intended to have arguments. startup=$HOME/.xsession resources=$HOME/.Xresources xinitrc=$HOME/.xinitrc if [ -s "$startup" ]; then exec /bin/sh -ls -c "$startup" else if [ -r "$resources" ]; then /usr/bin/xrdb -load "$resources" fi if [ -r "$xinitrc" ]; then exec /bin/sh -ls -c "$xinitrc" else exec /bin/sh -l /etc/X11/xinit/xinitrc fi fi ;; failsafe) exec /usr/bin/xterm -name login ;; *) resources=$HOME/.Xresources if [ -r "$resources" ]; then /usr/bin/xrdb -load "$resources" fi exec /bin/sh -ls -c "$session_argument" ;; esac