summaryrefslogtreecommitdiff
blob: d38b573bdbe478e1163ae41a6fc923ff554683cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/bin/sh --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

# This next bit should be in the users ~/.xsession,
# but we have it here as reference
#
#userdefaults=$HOME/.Xdefaults  
#userresources=$HOME/.Xresources   
#usermodmap=$HOME/.Xmodmap   
#  
##Xdefaults  
#if [ -f "$userdefaults" ]; then  
#	xrdb -merge "$userdefaults"  
#fi  
#Xresorces  
#if [ -f "$userresources" ]; then  
#	xrdb -merge "$userresources"  
#fi  
##Xmodmap  
#if [ -f "$usermodmap" ]; then  
#	xmodmap "$usermodmap"  
#fi  

startup=$HOME/.xsession
resources=$HOME/.Xresources

# First run the system default
if [ -n "`/etc/X11/chooser.sh`" ]; then
	exec "`/etc/X11/chooser.sh`"
# If not defined, try the user's ~/.xsession
elif [ -s "$startup" ]; then
	if [ -x "$startup" ]; then
		exec "$startup"
	else
		exec /bin/sh "$startup"
	fi
# Lastly, xsm as failsafe
else
	if [ -r "$resources" ]; then
		xrdb -load "$resources"
	fi
	exec xsm
fi