#!/bin/bash --login # # $Xorg: Xsession,v 1.4 2000/08/17 19:54:17 cpqbld Exp $ # # # # # $XFree86: xc/programs/xdm/config/Xsession,v 1.3 2001/01/17 23:45:24 dawes Exp $ # redirect errors to a file in user's home directory if we can for errfile in "$HOME/.xsession-errors" "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER" do if ( cp /dev/null "$errfile" 2> /dev/null ) then chmod 600 "$errfile" exec > "$errfile" 2>&1 break fi done # handle KDM if [ -n "$1" ]; then export XSESSION="$1" fi xinitdir=/usr/X11R6/lib/X11/xinit startup=$HOME/.xsession userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap sysresources=$xinitdir/.Xresources sysmodmap=$xinitdir/.Xmodmap # First run the system default. Because KDE uses this # to switch sessions, we MUST first check the system # default, and then ~/.xsession. If the user Do not # want this, he should override XSESSION, or at least # clear it. if [ -n "`/etc/X11/chooser.sh`" ]; then exec "`/etc/X11/chooser.sh`" # If not defined, try the user's ~/.xsession elif [ -s "$startup" ]; then # merge in defaults and keymaps if [ -f $sysresources ]; then xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then xmodmap $sysmodmap fi if [ -f $userresources ]; then xrdb -merge $userresources fi if [ -f $usermodmap ]; then xmodmap $usermodmap fi if [ -x "$startup" ]; then exec "$startup" else exec /bin/sh "$startup" fi # Lastly, xsm as failsafe else if [ -r "$userresources" ]; then xrdb -load "$userresources" fi exec xsm fi