|
发表于 2003-12-15 10:17:16
|
显示全部楼层
谢谢老大 终于搞定了
我的#!/bin/sh
# $XConsortium: Xsession /main/10 1995/12/18 18:21:28 gildea $
#
#
# $XFree86: xc/programs/xdm/config/Xsession,v 1.2 1998/01/11 03:48:32 dawes Exp $
# Modified for Slackware-3.5, 28-Mar-98 volkerdi
# Extensively rewritten for Slackware 7.0, 03-Oct-1999 volkerdi
# Patched to give priority to $HOME/.xsession, 10-Oct-1999 volkerdi
# Merged changes into upstream (XFree86-4.0.2) version, 17-Feb-2001 volkerdi
# Fixes for $PATH (from Jim Diamond), GDM/KDM/XDM, 2003-02-07 volkerdi
# Patched for bizzare GDM $1, 2003-09-23 volkerdi
# 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
SESSION=`echo $1 | cut -f 2 -d ' '`
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -r $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -r $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -r $userresources ]; then
xrdb -merge $userresources
fi
if [ -r $usermodmap ]; then
xmodmap $usermodmap
fi
# Since xdm doesn't run a bash -login shell (or any other login shell)
# we should source these files to set up the user's environment.
profile=/etc/profile
userprofile=~/.profile
if [ -r $profile ]; then
source $profile 1> /dev/null 2> /dev/null
fi
if [ -r $userprofile ]; then
source $userprofile 1> /dev/null 2> /dev/null
fi
# Set the $PATH through the user's preferred shell.
case `basename "$SHELL"` in
bash|sh|ash)
PATH="`( echo 'echo $PATH' | bash --login ) | tail -1`"
;;
csh|tcsh)
PATH="`( echo 'echo $PATH' | tcsh -l ) | tail -1`"
;;
ksh)
PATH="`( cat /etc/profile ; echo 'echo $PATH' ) | ksh | tail -1`"
;;
zsh)
PATH="`( echo 'echo $PATH' | zsh -l ) | tail -1`"
;;
*)
# We don't know your shell, so we'll set up reasonable defaults.
if [ "`whoami`" = "root" ]; then
PATH=$PATH:/usr/local/sbin:/sbin:/usr/sbin:/usr/local/bin:/bin:/usr/bin
else
PATH=$PATH:/usr/local/bin:/bin:/usr/bin
fi
;;
esac
# These files (if they exist) are used to set up the X related environment. We used to
# exec .xsession at this location, but that can interfere with choosing a session type
# through XDM/KDM/GDM so it was moved to after a requested session is started. Since
# that means that .xsession might never be run at all when using XDM/KDM/GDM, support
# for the xprofile was added to allow a way for the user to customize the X environment.
if [ -r /etc/xprofile ]; then
source /etc/xprofile
fi
if [ -r ~/.xprofile ]; then
source ~/.xprofile
fi
# Some people say that an .xsession file should always be given priority, even if a
# different window manager was requested in $SESSION. If you want that behavior, uncomment
# the lines below. This is not recommended (nor, in general, is the use of an
# .xsession file as a default... it should be left for the advanced users).
#if [ -x $HOME/.xsession ]; then
# exec $HOME/.xsession $@
#fi
# If a particular session type was requested in $SESSION, start that session:
case "$SESSION" in
failsafe)
xsetroot -solid SteelBlue
exec xterm -geometry 80x24-0-0
;;
kde)
scim -d
export XMODIFIERS="@im=SCIM"
export GTK_IM_MODULES=xim
exec startkde
;;
gnome)
exec gnome-session
;;
openwin)
exec olvwm
;;
fluxbox)
exec fluxbox
;;
fvwm2)
xsetroot -solid SteelBlue
exec fvwm2
;;
fvwm95)
xsetroot -solid SteelBlue
exec fvwm95
;;
blackbox)
exec blackbox
;;
xfce)
exec /etc/X11/xinit/xinitrc.xfce
;;
windowmaker)
exec /etc/X11/xinit/xinitrc.wmaker
;;
afterstep)
exec afterstep
;;
enlightenment)
exec enlightenment
;;
twm)
#xclock -geometry 50x50-1+1 &
#xterm -geometry 80x50+494+51 &
#xterm -geometry 80x20+494-0 &
#xterm -geometry 80x66+0+0 -name login &
xsetroot -solid SteelBlue
exec twm
;;
esac
# If we aren't running from XDM/KDM/GDM and no window manager was
# specified, then we'll run the user's $HOME/.xsession if it's
# executable. This must be set up to run the user's window manager.
if [ -x $HOME/.xsession ]; then
exec $HOME/.xsession $@
fi
# If the user doesn't have their own xsession and none was specified in
# $SESSION, then run the system default session type:
if [ -r /etc/X11/xinit/xinitrc ]; then
exec /etc/X11/xinit/xinitrc
fi
# If a $startup variable is set to define the window or session manager,
# then run that:
if [ -s "$startup" -a -x "$startup" ]; then
exec "$startup"
else
if [ -r "$resources" ]; then
xrdb -load "$resources"
fi
# Run xsm as a failsafe.
exec xsm
fi
#!/bin/sh
# $XConsortium: Xsession /main/10 1995/12/18 18:21:28 gildea $
#
#
# $XFree86: xc/programs/xdm/config/Xsession,v 1.2 1998/01/11 03:48:32 dawes Exp $
# Modified for Slackware-3.5, 28-Mar-98 volkerdi
# Extensively rewritten for Slackware 7.0, 03-Oct-1999 volkerdi
# Patched to give priority to $HOME/.xsession, 10-Oct-1999 volkerdi
# Merged changes into upstream (XFree86-4.0.2) version, 17-Feb-2001 volkerdi
# Fixes for $PATH (from Jim Diamond), GDM/KDM/XDM, 2003-02-07 volkerdi
# Patched for bizzare GDM $1, 2003-09-23 volkerdi
# 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
SESSION=`echo $1 | cut -f 2 -d ' '`
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -r $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -r $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -r $userresources ]; then
xrdb -merge $userresources
fi
if [ -r $usermodmap ]; then
xmodmap $usermodmap
fi
# Since xdm doesn't run a bash -login shell (or any other login shell)
# we should source these files to set up the user's environment.
profile=/etc/profile
userprofile=~/.profile
if [ -r $profile ]; then
source $profile 1> /dev/null 2> /dev/null
fi
if [ -r $userprofile ]; then
source $userprofile 1> /dev/null 2> /dev/null
fi
# Set the $PATH through the user's preferred shell.
case `basename "$SHELL"` in
bash|sh|ash)
PATH="`( echo 'echo $PATH' | bash --login ) | tail -1`"
;;
csh|tcsh)
PATH="`( echo 'echo $PATH' | tcsh -l ) | tail -1`"
;;
ksh)
PATH="`( cat /etc/profile ; echo 'echo $PATH' ) | ksh | tail -1`"
;;
zsh)
PATH="`( echo 'echo $PATH' | zsh -l ) | tail -1`"
;;
*)
# We don't know your shell, so we'll set up reasonable defaults.
if [ "`whoami`" = "root" ]; then
PATH=$PATH:/usr/local/sbin:/sbin:/usr/sbin:/usr/local/bin:/bin:/usr/bin
else
PATH=$PATH:/usr/local/bin:/bin:/usr/bin
fi
;;
esac
# These files (if they exist) are used to set up the X related environment. We used to
# exec .xsession at this location, but that can interfere with choosing a session type
# through XDM/KDM/GDM so it was moved to after a requested session is started. Since
# that means that .xsession might never be run at all when using XDM/KDM/GDM, support
# for the xprofile was added to allow a way for the user to customize the X environment.
if [ -r /etc/xprofile ]; then
source /etc/xprofile
fi
if [ -r ~/.xprofile ]; then
source ~/.xprofile
fi
# Some people say that an .xsession file should always be given priority, even if a
# different window manager was requested in $SESSION. If you want that behavior, uncomment
# the lines below. This is not recommended (nor, in general, is the use of an
# .xsession file as a default... it should be left for the advanced users).
#if [ -x $HOME/.xsession ]; then
# exec $HOME/.xsession $@
#fi
# If a particular session type was requested in $SESSION, start that session:
case "$SESSION" in
failsafe)
xsetroot -solid SteelBlue
exec xterm -geometry 80x24-0-0
;;
kde)
scim -d
export XMODIFIERS="@im=SCIM"
export GTK_IM_MODULES=xim
exec startkde
;;
gnome)
exec gnome-session
;;
openwin)
exec olvwm
;;
fluxbox)
exec fluxbox
;;
fvwm2)
xsetroot -solid SteelBlue
exec fvwm2
;;
fvwm95)
xsetroot -solid SteelBlue
exec fvwm95
;;
blackbox)
exec blackbox
;;
xfce)
exec /etc/X11/xinit/xinitrc.xfce
;;
windowmaker)
exec /etc/X11/xinit/xinitrc.wmaker
;;
afterstep)
exec afterstep
;;
enlightenment)
exec enlightenment
;;
twm)
#xclock -geometry 50x50-1+1 &
#xterm -geometry 80x50+494+51 &
#xterm -geometry 80x20+494-0 &
#xterm -geometry 80x66+0+0 -name login &
xsetroot -solid SteelBlue
exec twm
;;
esac
# If we aren't running from XDM/KDM/GDM and no window manager was
# specified, then we'll run the user's $HOME/.xsession if it's
# executable. This must be set up to run the user's window manager.
if [ -x $HOME/.xsession ]; then
exec $HOME/.xsession $@
fi
# If the user doesn't have their own xsession and none was specified in
# $SESSION, then run the system default session type:
if [ -r /etc/X11/xinit/xinitrc ]; then
exec /etc/X11/xinit/xinitrc
fi
# If a $startup variable is set to define the window or session manager,
# then run that:
if [ -s "$startup" -a -x "$startup" ]; then
exec "$startup"
else
if [ -r "$resources" ]; then
xrdb -load "$resources"
fi
# Run xsm as a failsafe.
exec xsm
fi |
|