]>
Commit | Line | Data |
---|---|---|
1ad48481 | 1 | #!/bin/sh |
2 | # Copyright (c) 1999, 2000 Red Hat, Inc. | |
3 | ||
4 | # redirect errors to a file in user's home directory if we can | |
5 | for errfile in "${TMPDIR-/tmp}/.xsession-$USER" \ | |
6 | "/tmp/.xsession-$USER" \ | |
7 | "$HOME/.xsession-errors" | |
8 | do | |
9 | if cp /dev/null "$errfile" 2> /dev/null ; then | |
10 | chmod 600 "$errfile" | |
11 | exec > "$errfile" 2>&1 | |
12 | break | |
13 | fi | |
14 | done | |
15 | ||
16 | [ "`echo $PATH | grep -q /usr/X11R6/bin`" = "" ] && PATH="${PATH}:/usr/X11R6/bin" | |
17 | [ "`echo $PATH | grep -q "$HOME/bin"`" = "" ] && PATH="$PATH:$HOME/bin" | |
18 | ||
19 | userresources=$HOME/.Xresources | |
20 | usermodmap=$HOME/.Xmodmap | |
21 | userxkbmap=$HOME/.Xkbmap | |
22 | ||
23 | sysresources=/etc/X11/Xresources | |
24 | sysmodmap=/etc/X11/Xmodmap | |
25 | sysxkbmap=/etc/X11/Xkbmap | |
26 | ||
27 | # merge in defaults | |
28 | [ -f "$sysresources" ] && xrdb -merge "$sysresources" | |
29 | [ -f "$userresources" ] && xrdb -merge "$userresources" | |
30 | ||
31 | # merge in keymaps | |
32 | if [ -f "$sysxkbmap" ]; then | |
33 | setxkbmap `cat "$sysxkbmap"` | |
34 | XKB_IN_USE=yes | |
35 | fi | |
36 | ||
37 | if [ -f "$userxkbmap" ]; then | |
38 | setxkbmap `cat "$userxkbmap"` | |
39 | XKB_IN_USE=yes | |
40 | fi | |
41 | ||
1ad48481 | 42 | # xkb and xmodmap don't play nice together |
43 | if [ -z "$XKB_IN_USE" ]; then | |
44 | [ -f "$sysmodmap" ] && xmodmap "$sysmodmap" | |
45 | [ -f "$usermodmap" ] && xmodmap "$usermodmap" | |
46 | fi | |
47 | ||
48 | unset XKB_IN_USE | |
49 | ||
50 | # run all system xinitrc shell scripts. | |
51 | for i in /etc/X11/xinit/xinitrc.d/* ; do | |
52 | if [ -x "$i" ]; then | |
53 | . "$i" | |
54 | fi | |
55 | done | |
56 | ||
57 | # now, we see if xdm/gdm/kdm has asked for a specific environment | |
58 | case $# in | |
59 | 1) case $1 in | |
60 | failsafe) | |
eb39c7f1 | 61 | exec xterm -geometry 80x24+0+0 |
1ad48481 | 62 | ;; |
63 | gnome) | |
64 | exec gnome-session | |
65 | ;; | |
1ad48481 | 66 | esac |
67 | esac | |
68 | ||
69 | # otherwise, take default action | |
70 | if [ -f "$HOME/.xsession" ]; then | |
71 | exec "$HOME/.xsession" | |
72 | elif [ -f "$HOME/.Xclients" ]; then | |
73 | exec "$HOME/.Xclients" | |
74 | else | |
75 | exec /etc/X11/xinit/Xclients | |
76 | fi |