1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
|
XCOMM!/bin/sh
XCOMM $XConsortium: startx.cpp,v 1.4 91/08/22 11:41:29 rws Exp $
XCOMM $XFree86: xc/programs/xinit/startx.cpp,v 3.0.8.2 1998/02/07 10:39:11 dawes Exp $
XCOMM Debian: customized for Debian
XCOMM
XCOMM This is just a sample implementation of a slightly less primitive
XCOMM interface than xinit. It looks for user .xinitrc and .xserverrc
XCOMM files, then system xinitrc and xserverrc files, else lets xinit choose
XCOMM its default. The system xinitrc should probably do things like check
XCOMM for .Xresources files and merge them in, startup up a window manager,
XCOMM and pop a clock and serveral xterms.
XCOMM
bindir=BINDIR
#ifdef SCO
XCOMM Check for /usr/bin/X11 and BINDIR in the path, if not add them.
XCOMM This allows startx to be placed in a place like /usr/bin or /usr/local/bin
XCOMM and people may use X without changing their PATH
XCOMM First our compiled path
if expr $PATH : ".*`echo $bindir | sed 's?/?\\/?g'`.*" > /dev/null 2>&1; then
:
else
PATH=$PATH:BINDIR
fi
XCOMM Now the "SCO" compiled path
if expr $PATH : '.*\/usr\/bin\/X11.*' > /dev/null 2>&1; then
:
else
PATH=$PATH:/usr/bin/X11
fi
XCOMM Set up the XMERGE env var so that dos merge is happy under X
if [ -f /usr/lib/merge/xmergeset.sh ]; then
. /usr/lib/merge/xmergeset.sh
else if [ -f /usr/lib/merge/console.disp ]; then
XMERGE=`cat /usr/lib/merge/console.disp`
export XMERGE
fi
fi
scoclientrc=$HOME/.startxrc
#endif
userclientrc=$HOME/.xinitrc
userserverrc=$HOME/.xserverrc
sysclientrc=XINITDIR/xinitrc
sysserverrc=XINITDIR/xserverrc
clientargs=""
serverargs=""
#ifdef SCO
if [ -f $scoclientrc ]; then
clientargs=$scoclientrc
else
#endif
if [ -f $userclientrc ]; then
clientargs=$userclientrc
else if [ -f $sysclientrc ]; then
clientargs=$sysclientrc
fi
fi
#ifdef SCO
fi
#endif
if [ -f $userserverrc ]; then
serverargs=$userserverrc
else if [ -f $sysserverrc ]; then
serverargs=$sysserverrc
fi
fi
display=:0
whoseargs="client"
while [ "x$1" != "x" ]; do
case "$1" in
/''*|\.*) if [ "$whoseargs" = "client" ]; then
clientargs="$1"
else
serverargs="$1"
fi ;;
--) whoseargs="server" ;;
*) if [ "$whoseargs" = "client" ]; then
clientargs="$clientargs $1"
else
serverargs="$serverargs $1"
case "$1" in
:[0-9]) display="$1" ;;
esac
fi ;;
esac
shift
done
serverargs="$serverargs -auth $HOME/.Xauthority"
mcookie=`mcookie`
xauth add $display . $mcookie
xauth add `hostname -f`$display . $mcookie
#if defined(macII) || defined(sun)
#define EXEC
#else
#define EXEC exec
#endif
EXEC xinit $clientargs -- $serverargs
/*
* various machines need special cleaning up
*/
#ifdef macII
Xrepair
screenrestore
#endif
#ifdef sun
kbd_mode -a
#endif
|