3 # $Xorg: startx.cpp,v 1.3 2000/08/17 19:54:29 cpqbld Exp $
5 # This is just a sample implementation of a slightly less primitive
6 # interface than xinit. It looks for user .xinitrc and .xserverrc
7 # files, then system xinitrc and xserverrc files, else lets xinit choose
8 # its default. The system xinitrc should probably do things like check
9 # for .Xresources files and merge them in, startup up a window manager,
10 # and pop a clock and serveral xterms.
12 # Site administrators are STRONGLY urged to write nicer versions.
14 # $XFree86: xc/programs/xinit/startx.cpp,v 3.16tsi Exp $
17 userclientrc=$HOME/.xdfbinitrc
18 userserverrc=$HOME/.xdfbserverrc
19 sysclientrc=/opt/xdirectfb/lib/X11/xinit/xinitrc
20 sysserverrc=/opt/xdirectfb/lib/X11/xinit/xserverrc
21 defaultclient=/opt/xdirectfb/bin/xterm
22 defaultserver=/opt/xdirectfb/bin/X
33 if [ -f $userclientrc ]; then
34 defaultclientargs=$userclientrc
35 elif [ -f $sysclientrc ]; then
36 defaultclientargs=$sysclientrc
42 if [ -f $userserverrc ]; then
43 defaultserverargs=$userserverrc
44 elif [ -f $sysserverrc ]; then
45 defaultserverargs=$sysserverrc
49 while [ x"$1" != x ]; do
51 # '' required to prevent cpp from treating "/*" as a C comment.
53 if [ "$whoseargs" = "client" ]; then
54 if [ x"$clientargs" = x ]; then
57 clientargs="$clientargs $1"
60 if [ x"$serverargs" = x ]; then
63 serverargs="$serverargs $1"
71 if [ "$whoseargs" = "client" ]; then
72 clientargs="$clientargs $1"
74 # display must be the FIRST server argument
75 if [ x"$serverargs" = x ] && \
76 expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then
79 serverargs="$serverargs $1"
87 # process client arguments
88 if [ x"$client" = x ]; then
89 # if no client arguments either, use rc file instead
90 if [ x"$clientargs" = x ]; then
91 client="$defaultclientargs"
97 # process server arguments
98 if [ x"$server" = x ]; then
99 # if no server arguments or display either, use rc file instead
100 if [ x"$serverargs" = x -a x"$display" = x ]; then
101 server="$defaultserverargs"
103 server=$defaultserver
107 if [ x"$XAUTHORITY" = x ]; then
108 XAUTHORITY=$HOME/.Xauthority
115 # set up default Xauth info for this machine
118 if [ -z "`hostname --version 2>&1 | grep GNU`" ]; then
119 hostname=`hostname -f`
129 authdisplay=${display:-:0}
131 for displayname in $authdisplay $hostname$authdisplay; do
132 if ! xauth list "$displayname" | grep "$displayname " >/dev/null 2>&1; then
134 add $displayname . $mcookie
136 removelist="$displayname $removelist"
141 xinit $client $clientargs -- $server $display $serverargs
143 if [ x"$removelist" != x ]; then
144 xauth remove $removelist
151 if command -v deallocvt > /dev/null 2>&1; then