/[packages]/cauldron/xinitrc/current/SOURCES/Xsession
ViewVC logotype

Contents of /cauldron/xinitrc/current/SOURCES/Xsession

Parent Directory Parent Directory | Revision Log Revision Log


Revision 30198 - (show annotations) (download)
Fri Jan 21 20:03:16 2011 UTC (13 years, 3 months ago) by ennael
File size: 4968 byte(s)
imported package xinitrc
1 #!/bin/sh
2 #---------------------------------------------------------------
3 # Project : Mandriva Linux
4 # Module : xinitrc
5 # File : Xsession
6 # Version : $Id: Xsession,v 1.48 2006/05/16 13:48:06 boiko Exp $
7 # Author : Chmouel Boudjnah
8 # Created On : Mon May 30 11:44:57 2005
9 # Purpose : start a graphical session according to the
10 # argument.
11 #---------------------------------------------------------------
12 # default values
13
14 DESKTOP=default
15
16 # read the user (~/.i18n) or system-wide (/etc/sysconfig/i18n) i18n settings
17 . /etc/profile.d/10lang.sh
18
19 if [ -z "$GDMSESSION" ]; then
20 # redirect errors to a file in user's home directory if we can
21 for errfile in "$HOME/.xsession-errors" "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER"
22 do
23 if ( umask 077 && cp /dev/null "$errfile" 2> /dev/null )
24 then
25 chmod 600 "$errfile"
26 exec > "$errfile" 2>&1
27 break
28 fi
29 done
30 fi
31
32 # Mandriva Linux default background
33 if [ "`whoami`" = root ]; then
34 xsetroot -solid "#B20003"
35 IS_ROOT=1
36 else
37 IS_ROOT=
38 fi
39
40 xsetroot -cursor_name watch
41
42 # clean up after xbanner
43 if [ -f /usr/bin/freetemp ]; then
44 freetemp
45 fi
46
47 userresources=$HOME/.Xresources
48 userresources2=$HOME/.Xdefaults
49 sysresources=/etc/X11/Xresources
50
51 # merge in defaults and keymaps
52 if [ -f $sysresources ]; then
53 xrdb -nocpp -merge $sysresources
54 fi
55
56 if [ -f $userresources ]; then
57 xrdb -merge $userresources
58 fi
59
60 if [ -f $userresources2 ]; then
61 xrdb -merge $userresources2
62 fi
63
64 if [ -x /etc/X11/xinit/fixkeyboard ]; then
65 /etc/X11/xinit/fixkeyboard
66 fi
67
68 CK_XINIT_SESSION=
69 if [ -x /usr/bin/ck-xinit-session -a -z "$XDG_SESSION_COOKIE" ]; then
70 CK_XINIT_SESSION="/usr/bin/ck-xinit-session"
71 fi
72
73
74 if [ -z "$BROWSER" ] ; then
75 BROWSER=`which www-browser 2> /dev/null`
76 if [ -n "$BROWSER" ] && [ -e "$BROWSER" ] ; then
77 export BROWSER
78 fi
79 fi
80
81
82 # now, we see if xdm/gdm/kdm has asked for a specific environment
83 if [ $# = 1 ]; then
84 DESKTOP=$1
85 else
86 # use default DESKTOP from config file
87 # users may want to choose their own desktop
88 # even when x-session is started by startx command.
89 # -- Jaegeum --
90 if [ -f $HOME/.desktop ]; then
91 . $HOME/.desktop >/dev/null 2>&1
92 elif [ -f /etc/sysconfig/desktop ]; then
93 . /etc/sysconfig/desktop >/dev/null 2>&1
94 fi
95 fi
96
97 ### Launch first time wizard if needed
98 if [ -z "$IS_ROOT" -a ! -e $HOME/.drakfw ] && type drakfw > /dev/null 2>&1 && touch $HOME/.drakfw > /dev/null 2>&1; then
99 if [ -x /etc/X11/xinit.d/numlock ]; then
100 /etc/X11/xinit.d/numlock
101 fi
102 xsetroot -cursor_name left_ptr
103 exec $CK_XINIT_SESSION drakfw
104 fi
105
106
107 if [ "${DESKTOP}" = default ]; then
108 SESSION=$(/usr/sbin/chksession -F)
109 else
110 SESSION=${DESKTOP}
111 fi
112
113 # run scripts in /etc/X11/xinit.d
114 for i in /etc/X11/xinit.d/* ; do
115 [ -d $i ] && continue
116 # Don't run ??foo.{rpmsave,rpmorig,rpmnew,~} scripts
117 [ "${i%.rpmsave}" != "${i}" ] && continue
118 [ "${i%.rpmorig}" != "${i}" ] && continue
119 [ "${i%.rpmnew}" != "${i}" ] && continue
120 [ "${i%\~}" != "${i}" ] && continue
121
122 if [ -x $i ]; then
123 if grep -q "# to be sourced" $i; then
124 . $i "${SESSION}"
125 else
126 $CK_XINIT_SESSION $i "${SESSION}" &
127 fi
128 fi
129 done
130
131 if [ -n "$DESKTOP" ]; then
132 case $DESKTOP in
133 failsafe)
134 xsetroot -cursor_name left_ptr
135 type -p rxvt > /dev/null >& 2 && exec rxvt -geometry 80x24-0-0
136 type -p xterm > /dev/null >& 2 && exec xterm -geometry 80x24-0-0
137 type -p xvt > /dev/null >& 2 && exec xvt
138 type -p twm > /dev/null >& 2 && exec $CK_XINIT_SESSION twm
139 ;;
140 default)
141 ;;
142 *)
143 if type -p "$DESKTOP" > /dev/null; then
144 exec $CK_XINIT_SESSION /bin/sh -c "$DESKTOP"
145 else
146 exec $CK_XINIT_SESSION /bin/sh -c "$(/usr/sbin/chksession -x=$DESKTOP)"
147 fi
148 ;;
149 esac
150 fi
151
152 # otherwise, take default action
153 if [ -x "$HOME/.xsession" ]; then
154 xsetroot -cursor_name left_ptr
155 exec $CK_XINIT_SESSION /bin/sh -c "$HOME/.xsession"
156 elif [ -x "$HOME/.Xclients" ]; then
157 xsetroot -cursor_name left_ptr
158 exec $CK_XINIT_SESSION /bin/sh -c "$HOME/.Xclients"
159 fi
160
161 # We may try with chksession
162 if [ -x /usr/sbin/chksession ];then
163 #get the first available
164 SESSION=$(/usr/sbin/chksession -F)
165 [ -n "$SESSION" -a "$SESSION" != default ] && exec $CK_XINIT_SESSION /bin/sh -c "$(/usr/sbin/chksession -x=$SESSION)"
166 fi
167
168 # Argh! Nothing good is installed. Fall back to icewm
169 if [ -x /usr/bin/icewm ];then
170 exec $CK_XINIT_SESSION /usr/bin/icewm
171 else
172 # gosh, neither icewm is available;
173 # fall back to failsafe settings
174 xsetroot -cursor_name left_ptr
175 xclock -geometry 100x100-5+5 &
176 xvt -geometry +0+50 &
177 if [ -x "$BROWSER" -a -f /usr/share/doc/HTML/index.html ]; then
178 $BROWSER /usr/share/doc/HTML/index.html &
179 fi
180 if [ -x /usr/bin/icewm-light ];then
181 exec $CK_XINIT_SESSION /usr/bin/icewm-light
182 elif [ -x /usr/bin/twm ];then
183 exec $CK_XINIT_SESSION /usr/bin/twm
184 else
185 exec $CK_XINIT_SESSION /usr/bin/xsm
186 fi
187 fi

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.30