Radix cross Linux

The main Radix cross Linux repository contains the build scripts of packages, which have the most complete and common functionality for desktop machines

452 Commits   2 Branches   1 Tag
#!/bin/sh

# redirect errors to a file in user's home directory if we can
errfile="$HOME/.xsession-errors"
if ( umask 077 && cp /dev/null "$errfile" 2> /dev/null )
then
  exec > "$errfile" 2>&1
else
  mktemp=/usr/bin/mktemp
  for errfile in "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER"
  do
    if ef="$( umask 077 && $mktemp "$errfile.XXXXXX" 2> /dev/null)"
    then
      exec > "$ef" 2>&1
      mv "$ef" "$errfile" 2> /dev/null
      break
    fi
  done
fi

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

# merge in defaults and keymaps

if [ -r $sysresources ]; then
  /usr/bin/xrdb -merge $sysresources
fi

if [ -r $sysmodmap ]; then
  /usr/bin/xmodmap $sysmodmap
fi

if [ -r $userresources ]; then
  /usr/bin/xrdb -merge $userresources
fi

if [ -r $usermodmap ]; then
  /usr/bin/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 $1.  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 $1, start that session:
case "$1" in
failsafe)
  xsetroot -solid SteelBlue
  exec xterm -geometry 80x24-0-0
  ;;
kde)
  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
# $1, 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
    /usr/bin/xrdb -load "$resources"
  fi
  # Run xsm as a failsafe.
  exec xsm
fi

startup=$HOME/.xsession
resources=$HOME/.Xresources

if [ -s "$startup" ]; then
  if [ -x "$startup" ]; then
    exec "$startup"
  else
    exec /bin/sh "$startup"
  fi
else
  if [ -r "$resources" ]; then
    /usr/bin/xrdb -load "$resources"
  fi
  exec /usr/bin/xsm
fi