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

Re: X with wdm capable of selecting host at login



>>>>> "esoR" == esoR ocsirF <rosef@eou.edu> writes:

    esoR> On Mon, Aug 14, 2000 at 02:23:50PM -0700, Philippe Troin
    esoR> wrote:
    >> In /etc/X11/wdm/wdm-config, add:
    >> 
    >> ! Use our chooser DisplayManager*chooser: <path-to-chooser>
    >> 
    >> Start X with "X -indirect localhost" and voila.

    esoR> Ok, this sounds like like what I am looking for but, I seem
    esoR> to be brain dead. If I modify the wdm-config as noted and
    esoR> resart wdm via

    esoR> # /etc/init.d/wdm resart

    esoR> I just get the normal login. Which I assume is the correct
    esoR> behavior for wdm since I haven't started X as noted (and yes
    esoR> the chooser is installed). So I

    esoR> # /etc/init.d/wdm stop # X -indirect localhost

    esoR> and I get an X background with a mouse cursor but no wdm
    esoR> panel. I, once again, assume that this is the correct
    esoR> behavior. So I am now thinking, do I pass these options to X
    esoR> via the /etc/X11/wdm/Xservers file? If so the syntax is
    esoR> beyond me at the moment. I would like to think that I am not
    esoR> as dumb as a bag of hammers but facts tend to implicate me
    esoR> as so being :-/

You have to get out of the somewhat broken thinking that "wdm is the
X-Window server". This, for the general case, is wrong.  wdm is the
display manager, that just happens to start the X server by default on
most installations.

However, when wdm starts the X-server, you can't tell the X-Server
to use another display manager (as it uses the wdm that was used to
start it).

So, you have to start X manually telling it to use the alternative
display manager. In this case, the display manager is initially
responsible for displaying a list other display managers which you
can connect to.

I have developed a simple script that automatically restarts X on
reboot. See the attached file. oops, I just realized in the comments I
call it "X display manager". This obviously should read "X
server". This file is (IIRC) in the diskless Debian package.

#!/bin/sh
# /etc/init.d/X: start or stop the X display manager

set -e

PATH=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/usr/bin/X11/X
PARAMS="$*"
LOG=/var/log/X.log

exec > $LOG 2>&1

test -x $DAEMON || exit 0

  if head -1 /etc/X11/Xserver 2> /dev/null | grep -q Xsun; then
    # the Xsun X servers do not use XF86Config
    CHECK_LOCAL_XSERVER=
  else
    CHECK_LOCAL_XSERVER=yes
  fi

    if [ "$CHECK_LOCAL_XSERVER" ]; then
      problem=yes
      echo -n "Checking for valid XFree86 server configuration..."
      if [ -e /etc/X11/XF86Config ]; then
        if [ -x /usr/sbin/parse-xf86config ]; then
          if parse-xf86config --quiet --nowarning --noadvisory /etc/X11/XF86Config; then
            problem=
          else
            echo "error in configuration file."
          fi
        else
          echo "unable to check."
        fi
      else
        echo "file not found."
      fi
      if [ "$problem" ]; then
        echo "Not starting X display manager."
	echo "Pausing for five minutes."
	sleep 300
        exit 1
      else
        echo "done."
      fi
    fi
    echo "Starting X server: X"
    $DAEMON $PARAMS

exit 0
-- 
Brian May <bam@debian.org>

Reply to: