Re: xdm -- multiple (3) servers
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 debian-user-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Reply to: