Hi all!
If I start X with startx command and then open a xterm and run 'ps a', I get:

..
13237 ??  R       0:04.69 /usr/X11R6/bin/X :0 -auth /home/gar/.serverauth.6053 
(Xorg)
18053 ??  I       0:00.01 X: [priv] (Xorg)
 9547 p1  Ss      0:00.02 -ksh (ksh)
 1024 p1  R+      0:00.00 ps -xa
26534 C0  Is      0:00.06 -ksh (ksh)
 6053 C0  I+      0:00.01 /bin/sh ./bin/startx
21582 C0  I+      0:00.01 xinit /home/gar/.xinitrc -- /usr/X11R6/bin/X -auth 
/home/gar/.serverauth.6053
26851 C0  I       0:00.00 sh /home/gar/.xinitrc
..

mh, ok.

If I start X with startx command and _server options_, like this:
$ startx -- -br -nolisten tcp -once
and then open a xterm and run 'ps a', I get:

..
13237 ??  R       0:04.69 /usr/X11R6/bin/X :0 -auth /home/gar/.serverauth.6054 
(Xorg)
18053 ??  I       0:00.01 X: [priv] (Xorg)
 9547 p1  Ss      0:00.02 -ksh (ksh)
 1024 p1  R+      0:00.00 ps -xa
26534 C0  Is      0:00.06 -ksh (ksh)
27672 C0  I+      0:00.01 /bin/sh /usr/X11R6/bin/startx /usr/X11R6/bin/startx 
/usr/X11R6/bin/startx /usr/X11R6/bin/startx ...
12927 C0  I+      0:00.01 xinit /home/gar/.xinitrc -- /usr/X11R6/bin/X -br 
-nolisten tcp -once -auth /home/gar/.serverauth.27672
17622 C0  I       0:00.00 sh /home/gar/.xinitrc
..

Now, is this line a bit strange?
27672 C0  I+      0:00.01 /bin/sh /usr/X11R6/bin/startx /usr/X11R6/bin/startx 
/usr/X11R6/bin/startx /usr/X11R6/bin/startx ...

For each server argument passed to startx _after_ '--', there is a
/usr/.../startx, caused by (in /usr/X11R6/bin/startx):

..
whoseargs="client"
while [ x"$1" != x ]; do
    case "$1" in
    # '' required to prevent cpp from treating "/*" as a C comment.
    /''*|\./''*)
        if [ "$whoseargs" = "client" ]; then
            if [ x"$clientargs" = x ]; then
                client="$1"
            else
                clientargs="$clientargs $1"
            fi
        else
            if [ x"$serverargs" = x ]; then
                server="$1"
            else
                serverargs="$serverargs $1"
            fi
        fi
        ;;
    --)
        whoseargs="server"
        ;;
    *)
        if [ "$whoseargs" = "client" ]; then
            clientargs="$clientargs $1"
        else
            # display must be the FIRST server argument
            if [ x"$serverargs" = x ] && \
                 expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then
                display="$1"
            else
                serverargs="$serverargs $1"
            fi
        fi
        ;;
    esac
    shift
done
.

comments?

C.

Reply via email to