Harald Koenig of XFree86 solved my problem with 3 X-servers under xdm. Here is his reply, annotated.
> Starting multiple X servers at the same time doesn't work reliably. > You should try adding some delay (maybe ~5...15 seconds) between starting > multiple instances. > > Unfortunately, xdm can't handle this (or I don't know how); > so you have to create small shell scripts for :1 and :2 like these > > -------------------------------------------------------------------- > #!/bin/sh > # this is /usr/X11R6/bin/X1 > sleep 10 > exec /usr/X11R6/bin/X vt8 :1 > -------------------------------------------------------------------- > #!/bin/sh > # this is /usr/X11R6/bin/X2 > sleep 20 > exec /usr/X11R6/bin/X vt9 :2 > -------------------------------------------------------------------- > >and execute those instead of directly running [X-servers; >To do this, change your /etc/X11/xdm/Xserver]: > :0 local /usr/X11R6/bin/X vt7 :0 > :1 local /usr/X11R6/bin/X1 > :2 local /usr/X11R6/bin/X2 >One drawback of this idea: you have to wait 20 seconds for a new login >when exiting :2. Here are some alterations on Mr. Koenig's recommendations that improve Mr. Koenig's solution for the Linux arena. 1. Change the order of the X-servers in /etc/X11/xdm/Xserver to :2 local /usr/local/bin/X vt9 :2 :1 local /usr/local/bin/X vt8 :1 :0 local /usr/X11R6/bin/X vt7 :0 Surprisingly, with this change, :0 STARTS FIRST. Otherwise, in the first few seconds of xdm, I notice only the :2 server running, which causes large delays when we run a "sleep" command first for :2 and :1. With but a 2 second delay in the :1 and a 4 second delay in :2 ; visually, all X-servers appear to start simultaneously. The final server I see is :2, which I usually toggle to F7 for the :0 DISPLAY. 2. Use a common /usr/local/bin/X with the following lines #!/bin/bash process=$(/bin/ps -auxw |/bin/egrep "/usr/X11R6/bin/X $1" \ |/bin/egrep -v grep) #later signal interrupts needn't sleep. if [ ! "$process" ]; then stripped_display=`echo $2 |sed 's/^://'` #strip ":" from the DISPLAY #sleep 10 #When sleeping less than 20 seconds, you should use #different times for each different :1, :2, ... #sleep `expr 30 + \( ${stripped_display} \* 10 \)` #sleeps for #"30 seconds + (1/2/3/4 * 10 seconds)". sleep `expr 0 + \( ${stripped_display} \* 2 \)` #works on PPro 200 fi #exec /usr/X11R6/bin/X vt8 :1 exec /usr/X11R6/bin/X $1 $2 #Here, $1 may be vt8, $2 may be :1 3. When checking this script, on booting, enter ps -auxw |grep 'bin/X' then check for two "xdm" processes. Two "xdm" processes usually indicates that one X server has not started (usually :1). Any problem (from two "xdm" processes remaining) will occur after about 3 minutes. Then if you return to your login screen, it will be grey. Also, within the first 3 minutes, if something like F8 produces a grey screen before a login screen, then you had a problem but will no longer see that problem. If you have a problem, and you idle a long time, your screen may lock, requiring a cold boot. 4. David Niemi mentioned that with 3 X-servers, one might use "xlock", so I have an alias to xlock +install +enablesaver +usefirst This allows me to lock the :0 X-server, so my 4-year old child won't punch something in as root. Yet, my 4-year old can run any applications on the :1 X-server (F8). [Running adrift:] One day I couldn't understand how my 4-year old started "arithmetic", then I realized that in Linux she learned to spell "arithmetic" so she could play it. If a 4 year old can use Linux, then installed Linux is either user friendly, or else many people work on "user-friendly-operating-systems" with computer skills less than that of a four year old. 5. That the XFree guys made code so we can run 3 X-servers on the same computer amazes me. For me to use this cleanly required much rummaging for answers, but you won't find anything like this on the-user-friendly-operating-system out of Redland, Washington. Danke Schon Harald Koenig, Ihr war sehr gut geantwortet. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]