3 # fix broken $UID on some system...
4 if test "x$UID" = "x"; then
5 if test -x /usr
/xpg
4/bin
/id
; then
6 UID
=`/usr/xpg4/bin/id -u`;
12 if test "x$XDG_CONFIG_HOME" = "x" ; then
13 XDG_CONFIG_HOME
=$XDG_CONFIG_HOME/.config
15 [ -d "$XDG_CONFIG_HOME" ] || mkdir
"$XDG_CONFIG_HOME"
16 if test "x$XDG_CACHE_HOME" = "x" ; then
17 XDG_CACHE_HOME
=$XDG_CONFIG_HOME/.cache
19 [ -d "$XDG_CACHE_HOME" ] || mkdir
"$XDG_CACHE_HOME"
21 if [ -e $HOME/.xsession-errors
.0 ] && [ -e $HOME/.xsession-errors
]; then
22 rm $HOME/.xsession-errors
.0
23 mv $HOME/.xsession-errors
$HOME/.xsession-errors
.0
24 elif [ ! -e $HOME/.xsession-errors
.0 ] && [ -e $HOME/.xsession-errors
]; then
25 mv $HOME/.xsession-errors
$HOME/.xsession-errors
.0
28 for errfile
in "$HOME/.xsession-errors" "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER"
30 if ( cp /dev
/null
"$errfile" 2> /dev
/null
) ; then
32 exec > "$errfile" 2>&1
37 echo "$0: Beginning session setup..."
39 userresources
="$HOME/.Xresources"
40 usermodmap
="$HOME/.Xmodmap"
41 userxkbmap
="$HOME/.Xkbmap"
43 sysresources
=/usr
/lib
/X11
/xinit
/.Xresources
44 sysmodmap
=/usr
/lib
/X11
/xinit
/.Xmodmap
45 sysxkbmap
=/etc
/X11
/Xkbmap
47 rh6sysresources
=/etc
/X11
/xinit
/Xresources
48 rh6sysmodmap
=/etc
/X11
/xinit
/Xmodmap
51 if [ -f "$rh6sysresources" ]; then xrdb
-merge "$rh6sysresources"; fi
52 if [ -f "$sysresources" ]; then xrdb
-merge "$sysresources"; fi
53 if [ -f "$userresources" ]; then xrdb
-merge "$userresources"; fi
56 if [ -f "$sysxkbmap" ]; then
57 setxkbmap
`cat "$sysxkbmap"`
61 if [ -f "$userxkbmap" ]; then
62 setxkbmap
`cat "$userxkbmap"`
66 if [ -z "$XKB_IN_USE" -a ! -L /etc
/X11
/X
]; then
67 if grep '^exec.*/Xsun' /etc
/X11
/X
> /dev
/null
2>&1 && [ -f /etc
/X11
/XF86Config
]; then
68 xkbsymbols
=`sed -n -e 's/^[ ]*XkbSymbols[ ]*"\(.*\)".*$/\1/p' /etc/X11/XF86Config`
69 if [ -n "$xkbsymbols" ]; then
70 setxkbmap
-symbols "$xkbsymbols"
76 # xkb and xmodmap don't play nice together
77 if [ -z "$XKB_IN_USE" ]; then
78 if [ -f "$rh6sysmodmap" ]; then
79 xmodmap
"$rh6sysmodmap"
81 if [ -f "$sysmodmap" ]; then
84 if [ -f "$usermodmap" ]; then
91 # run all system xinitrc shell scripts.
92 if [ -d /etc
/X11
/xinit
/xinitrc.d
]; then
93 for i
in /etc
/X11
/xinit
/xinitrc.d
/* ; do
99 SESSIONS
="/usr/share/xsessions"
100 Session
=xfce
#Default set to xfce
101 dmrc
=/var
/state
/dm
/dmrc
104 if [ -e $dmrc ]; then
105 localecmd
="$(grep "LANG
=" $dmrc 2>/dev/null)"
106 keymapcmd
="$(grep "loadkeys
" $dmrc 2>/dev/null)"
107 xkbmapcmd
="$(grep "setxkbmap
" $dmrc 2>/dev/null)"
108 if [ "$localecmd" ]; then
109 if [ "$(grep "LANG
=" $userdmrc 2>/dev/null)" ] ; then
110 sed -i "s@^.*LANG=.*@$localecmd@" $userdmrc
112 echo "$localecmd" >> $userdmrc
115 if [ "$keymapcmd" ]; then
116 if [ "$(grep "loadkeys
" $userdmrc 2>/dev/null)" ]; then
117 sed -i "s@^.*loadkeys.*@$keymapcmd@" $userdmrc
119 echo "$keymapcmd" >> $userdmrc
122 if [ "$xkbmapcmd" ]; then
123 if [ "$(grep "setxkbmap
" $userdmrc 2>/dev/null)" ]; then
124 sed -i "s@^.*setxkbmap.*@$xkbmapcmd@" $userdmrc
126 echo "$xkbmapcmd" >> $userdmrc
132 if [ -e "$userdmrc" ]; then
133 source $userdmrc 1> /dev
/null
2> /dev
/null
134 [ "Language" ] && export LANG
="$Language"
135 export LC_COLLATE
="$LANG"
137 echo "[Desktop]" >> "$userdmrc"
138 echo "Session=" >> "$userdmrc"
139 echo "Language=" >> "$userdmrc"
142 # accept $SESSION and remember Session
146 sed -i "s@^.*Session=.*@Session=$1@" $userdmrc
147 if [ ! "$(grep "Session
=" $userdmrc 2>/dev/null)" ] ; then
148 echo "Session=$Session" >> $userdmrc
152 echo "$0: Session=$Session"
155 userprofile
=$HOME/.profile
157 if [ -r $profile ]; then
158 source $profile 1> /dev
/null
2> /dev
/null
160 if [ -r $userprofile ]; then
161 source $userprofile 1> /dev
/null
2> /dev
/null
164 xprofile
=/etc
/xprofile
165 userxprofile
=$HOME/.xprofile
166 if [ -r $xprofile ]; then
167 source $xprofile $Session
169 if [ -r $userxprofile ]; then
170 source $userxprofile $Session
173 echo "$0: Ready to start desktop..."
174 # We should normally get the session command from desktop files
175 if [ -e ${SESSIONS}/${Session}.desktop
];then
176 COMMAND
="$(sed -n 's/Exec[ \t]*=[ \t]*\(.*\)$/\1/p' ${SESSIONS}/${Session}.desktop)"
177 echo "$0: Setup done, will start: ${SESSIONS}/${Session}.desktop"
178 exec ck-launch-session dbus-launch
--auto-syntax --exit-with-session $COMMAND
179 else echo "$0: Faild to find ${SESSIONS}/${Session}.desktop, try another way..."
184 xsetroot
-solid SteelBlue
185 exec xterm
-geometry 80x24-0-0
191 ck-launch-session startkde
194 ck-launch-session gnome-session
197 ck-launch-session fluxbox
200 xsetroot
-solid SteelBlue
201 ck-launch-session fvwm2
204 xsetroot
-solid SteelBlue
205 ck-launch-session fvwm95
208 ck-launch-session blackbox
211 exec /etc
/X11
/xinit
/xinitrc.wmaker
214 ck-launch-session afterstep
217 exec /etc
/X11
/xinit
/xinitrc.enlightenment
220 #xclock -geometry 50x50-1+1 &
221 #xterm -geometry 80x50+494+51 &
222 #xterm -geometry 80x20+494-0 &
223 #xterm -geometry 80x66+0+0 -name login &
224 xsetroot
-solid SteelBlue
225 ck-launch-session twm
229 if [ -x $HOME/.xsession
]; then
230 exec $HOME/.xsession $@
233 if [ -r /etc
/X11
/xinit
/xinitrc.xfce
]; then
234 exec /etc
/X11
/xinit
/xinitrc.xfce