Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 07 Aug 1999 15:29:39 +0900
From:      Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
To:        Nate Williams <nate@mt.sri.com>
Cc:        freebsd-smp@freebsd.org, yokota@zodiac.mech.utsunomiya-u.ac.jp
Subject:   Re: SMP + XDM = keyboard lockup 
Message-ID:  <199908070629.PAA10251@zodiac.mech.utsunomiya-u.ac.jp>
In-Reply-To: Your message of "Fri, 23 Jul 1999 10:24:10 CST." <199907231624.KAA07741@mt.sri.com> 
References:  <199907221817.LAA09698@usr05.primenet.com> <199907230402.NAA02136@zodiac.mech.utsunomiya-u.ac.jp> <199907231624.KAA07741@mt.sri.com> 

next in thread | previous in thread | raw e-mail | index | archive | help

>> I guess it may not.  After init forks and execs getty and xdm, we
>> don't know the exact order in which these processes will be scheduled
>> to run on which CPU, do we?  /etc/ttys does not ensure the order of
>> execution.
>> 
>> If xdm happens to run before other getty processes, it may grab a vty
>> which will be eventually opened by a getty later.
>
>Actually, I had forgotten about this.  This is true because the line in
>/etc/ttys doesn't specify *which* tty for X to use.  If we could easily
>force X to use that specific tty, it would avoid this problem.
>
>Nate

We can specify the vty number in /usr/X11R6/lib/X11/xdm/Xservers as:

	:0 local /usr/X11R6/bin/X vt4

can we not?

I know this is troublesome in the sense that if we want to change the
vty for X, we need to update both /etc/tty and
/usr/X11R6/lib/X11/xdm/Xservers ;-<

In any case, the race condition regarding xdm and getty which we
discussed in this mailing list should be reflected in FAQ.  Our FAQ
currently has an entry for xdm; it gives you the impression that the
race condition exists only when we start xdm from one of rc.* files,
and people may think there should be no problem when xdm is started
from /etc/ttys.

------------------------------------------------------------------------------
9.7  How do I start XDM on boot?

There are two schools of thought on how to start xdm.  One school starts xdm
from /etc/ttys using the supplied example, while the other simply runs xdm from
rc.local or from a X.sh script in /usr/local/etc/rc.d.  Both are equally valid,
and one may work in situations where the other doesn't. In both cases the
result is the same: X will popup a graphical login: prompt.

The ttys method has the advantage of documenting which vty X will start on and
passing the responsibility of restarting the X server on logout to init.  The
rc.local method makes it easy to kill xdm if there is a problem starting the X
server.

If loaded from rc.local, xdm should be started without any arguments (i.e., as
a daemon).  xdm must start AFTER getty runs, or else gettty and xdm will con-
flict, locking out the console.  The best way around this is to have the script
sleep 10 seconds or so then launch xdm.

A previous version of the FAQ said to add the vt you want X to use to the
/usr/X11R6/lib/X11/xdm/Xservers file.  This is not necessary: X will use the
first free vt it finds.
------------------------------------------------------------------------------

The last paragraph should be modified to something like:

"If you are to start xdm from /etc/ttys, there still is a chance of 
conflict between xdm and getty.  One way to avoid this is to add the
vt number in the /usr/X11R6/lib/X11/xdm/Xservers file.  

	:0 local /usr/X11R6/bin/X vt4

The above example will direct the X server to run in /dev/ttyv3.
Note the number is offset by one.  The X server counts the vt from one,
whereas the FreeBSD kernel numbers vt from zero."

Comments?

Kazu


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199908070629.PAA10251>