]>
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 | ||
1ad48481 | 16 | [ "`echo $PATH | grep -q "$HOME/bin"`" = "" ] && PATH="$PATH:$HOME/bin" |
17 | ||
18 | userresources=$HOME/.Xresources | |
19 | usermodmap=$HOME/.Xmodmap | |
20 | userxkbmap=$HOME/.Xkbmap | |
21 | ||
22 | sysresources=/etc/X11/Xresources | |
23 | sysmodmap=/etc/X11/Xmodmap | |
24 | sysxkbmap=/etc/X11/Xkbmap | |
25 | ||
26 | # merge in defaults | |
27 | [ -f "$sysresources" ] && xrdb -merge "$sysresources" | |
28 | [ -f "$userresources" ] && xrdb -merge "$userresources" | |
29 | ||
30 | # merge in keymaps | |
31 | if [ -f "$sysxkbmap" ]; then | |
32 | setxkbmap `cat "$sysxkbmap"` | |
33 | XKB_IN_USE=yes | |
34 | fi | |
35 | ||
36 | if [ -f "$userxkbmap" ]; then | |
37 | setxkbmap `cat "$userxkbmap"` | |
38 | XKB_IN_USE=yes | |
39 | fi | |
40 | ||
1ad48481 | 41 | # xkb and xmodmap don't play nice together |
42 | if [ -z "$XKB_IN_USE" ]; then | |
43 | [ -f "$sysmodmap" ] && xmodmap "$sysmodmap" | |
44 | [ -f "$usermodmap" ] && xmodmap "$usermodmap" | |
45 | fi | |
46 | ||
47 | unset XKB_IN_USE | |
48 | ||
49 | # run all system xinitrc shell scripts. | |
50 | for i in /etc/X11/xinit/xinitrc.d/* ; do | |
51 | if [ -x "$i" ]; then | |
52 | . "$i" | |
53 | fi | |
54 | done | |
55 | ||
56 | # now, we see if xdm/gdm/kdm has asked for a specific environment | |
57 | case $# in | |
58 | 1) case $1 in | |
59 | failsafe) | |
eb39c7f1 | 60 | exec xterm -geometry 80x24+0+0 |
1ad48481 | 61 | ;; |
62 | gnome) | |
63 | exec gnome-session | |
64 | ;; | |
1ad48481 | 65 | esac |
66 | esac | |
67 | ||
68 | # otherwise, take default action | |
69 | if [ -f "$HOME/.xsession" ]; then | |
70 | exec "$HOME/.xsession" | |
71 | elif [ -f "$HOME/.Xclients" ]; then | |
72 | exec "$HOME/.Xclients" | |
73 | else | |
74 | exec /etc/X11/xinit/Xclients | |
75 | fi |