When X starts up, xdm will execute a shell script typically
found in /usr/lib/X11/xdm/Xsession. On the Silicon Graphics
machines it looks like:
#!/bin/sh
dim="`xdpyinfo | awk ' /dimensions/ {print $2}'`"
if [ "$dim" = "1024x768" ]; then
geom="80x40+190+102"
font="-sgi-terminal-*-*-*--12-*"
else
geom="80x40+150+172"
font="-sgi-terminal-*-*-*--17-*"
fi
case $# in
1)
case $1 in
failsafe)
exec xwsh -geom $geom -fn $font -xrm "XWsh*autoFork: off"
;;
esac
esac
xsession=$HOME/.xsession
resources=$HOME/.Xresources
sgisession=$HOME/.sgisession
autoworkspace=$HOME/.workspace/autostart
userenv=/usr/bin/X11/userenv
if [ -r $xsession -a "$0" != $xsession ]; then
if [ -x $xsession ]; then
exec $xsession
else
exec /bin/sh $xsession
fi
fi
if [ -r $resources ]; then
xrdb -load -quiet $resources
fi
XUSERFILESEARCHPATH="$HOME/%N:`/usr/bin/X11/appdefpath`"
export XUSERFILESEARCHPATH
if [ -x $userenv ]; then
#
# Find user's environment as set up during a login
# shell, and add that to current environment.
#
eval `$userenv`
fi
screens=`/usr/bin/X11/xlistscrns`
for screen in $screens
do
/usr/bin/X11/xsetroot -solid sgilightblue -display $screen
/usr/bin/X11/xsetroot -cursor_name X_cursor -fg red -bg white -display $screen
done
# Gives anyone on any host access to this display
/usr/bin/X11/xhost +
# Note: Output from $HOME/.sgisession, 4Dwm, workspace and toolchest
# is redirected to /dev/console. All other output is written to
# /usr/adm/SYSLOG by default.
/usr/bin/X11/4Dwm >/dev/console 2>&1 &
/usr/bin/X11/wait4wm
/usr/sbin/startconsole -iconic
if [ -x $sgisession ]; then
$sgisession >/dev/console 2>&1 &
elif [ -r $sgisession ]; then
/bin/sh $sgisession >/dev/console 2>&1 &
fi
if [ -r $autoworkspace ]; then
if [ "`cat $autoworkspace`" = "on" ]; then
/usr/sbin/workspace >/dev/console 2>&1 &
fi
fi
for screen in $screens
do
DISPLAY=$screen /usr/bin/X11/toolchest -name ToolChest >/dev/console 2>&1 &
done
exec /usr/bin/X11/reaper