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>