Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Apr 1998 16:00:02 -0700 (PDT)
From:      Tim Vanderhoek <ac199@hwcn.org>
To:        freebsd-doc
Subject:   Re: conf/3590
Message-ID:  <199804232300.QAA14339@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR conf/3590; it has been noted by GNATS.

From: Tim Vanderhoek <ac199@hwcn.org>
To: freebsd-gnats-submit@FreeBSD.ORG
Cc:  Subject: Re: conf/3590
Date: Thu, 23 Apr 1998 18:50:05 -0400 (EDT)

 Perhaps along with the explanatory literature...
 
 --
  tIM...HOEk
 OPTIMIZATION: the process of using many one-letter variables names
               hoping that the resultant code will run faster.
 
 ---------- Forwarded message ----------
 Date: Wed, 22 Apr 1998 22:43:15 +0900
 From: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
 To: dag-erli@ifi.uio.no
 Cc: current@FreeBSD.ORG, yokota@zodiac.mech.utsunomiya-u.ac.jp
 Subject: Re: Disappearing keyboard 
 
 
 >Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp> writes:
 >> AFAIK, there are four ways to start xdm and avoid conflicts with getty.
 >> 
 >> 1. Specify xdm in /etc/ttys.  If you want to run xdm in ttyv3, you write:
 >> 
 >> 	ttyv3	"/usr/X11R6/bin/xdm -nodaemon" xterm on secure
 >
 >This is evil and should never have been suggested in the docs.
 
 I knew some people don't like this :-) To me it is a matter of 
 preference.
 
 >> 2. Run xdm from /etc/rc.local (or other rc* files).
 >> [...]
 >> 3. Another way to run xdm from /etc/rc.local (or other rc* files).
 >> [...]
 >
 >There is a better way, see below.
 >
 >> 4. Specify the X server in /etc/ttys.
 >> 
 >> 	ttyv3	"/usr/X11R6/bin/X vt4 -query localhost" xterm on secure
 >
 >Again, this is evil.
 >
 >The Right Way (tm) to start X or xdm is to put a shell script in
 >/usr/local/etc/rc.d which Does the Deed. It will work, no questions
 >asked. I have something similar to this:
 
 I picked up /etc/rc.local simply because it was what the original
 poster was using.  I don't care which rc script you would prefer to
 use for this purpose.
 
 >#!/bin/sh
 >if [ -r /noxdm ] ; then
 >    echo -n " (xdm disabled)"
 >else
 >    [ -x /usr/X11R6/bin/xdm ] && /usr/X11R6/bin/xdm && echo -n " xdm"
 >fi
 >
 >in /usr/local/etc/rc.d/xdm.sh.
 >
 >If you're picky about the execution order of /usr/local/etc/rc.d/*,
 >use a numeric prefix for each script, as in /etc/periodic/*.
 
 Umm, I am puzzled. I don't see why this particular version should
 solve the original poster's problem.
 
 We are talking about possible conflict between getty and xdm.
 
 We usually turn on getty on some vtys, say ttyv0 through ttyv2.  When
 xdm is started from /etc/rc.local (or /usr/local/etc/rc.d/something),
 getty has not yet been started. Therefore, ttyv1 through ttyv2 are not
 in use and is available.
 
 If getty is not yet running when xdm tries to start the X server, the
 X server will pick up the first available vty, in this case ttyv1.
 Then, init starts getty on ttyv1 and you get two programs, the X
 server and getty, trying to read the keyboard in ttyv1...
 
 This is a timing problem.  If getty has been started in ttyv1 through
 ttyv2 BEFORE xdm starts the X server, the X server will see ttyv3 is
 available and will use it, then you have no conflict.
 
 That's why I suggested to put `sleep N' before starting xdm from
 rc.local (or whichever rc script) so that getty will run before the X
 server, or explicitly specify a vty in which to run the X server.
 
 Kazu
 
 To Unsubscribe: send mail to majordomo@FreeBSD.org
 with "unsubscribe freebsd-current" in the body of the message
 

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



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