[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: