Suppose you want to make a lab full of X terminals that all connect
to some choice of servers.  For now let's make it
appserverone and
appservertwo.  Again we'll call our example X
terminal server xterminal.  The setup on both
servers is the same as with the case of one server in the previous
section.  You do not need to explicitly enable indirect queries on the
server since we'll run the choosers locally on the X terminals.
So on the xterminal you again disable XDMCP.
You will add a server type perhaps called Chooser
as follows:
[server-Chooser]
name=Chooser server
command=/usr/X11R6/bin/X
flexible=false
chooser=true
And again this definition should in fact be included in the standard
configuration file.  Notice that we made the
chooser key true here.  This will run the XDMCP
chooser for this server, and when the user chooses a host GDM will run
a query for that host.  Then we'll define our local servers as follows:
[servers]
0=Chooser
The XDMCP chooser on the X terminal will normally give a broadcast
query to see which servers exist on the network.  If the two servers
are not reachable by a broadcast query, you must add them by hand to
the configuration file.  So in the [chooser]
section you would have:
Hosts=appserverone,appservertwo
and any other servers you wish the users to be able to connect to.
Sometimes you may want to run the chooser on the server side however.
Then what you want to do is to run a configuration similar to the
previous section about the one server configuration with XDMCP
indirect queries enabled on appserver and on the
X terminals you'd have
[servers]
0=Terminal -indirect appserver
This way for example you only have to maintain one
Hosts entry.  However as a disadvantage then,
the appserver must then always be available.  So
it's not good for situations where you want to have serveral servers
and not all of them have to be on all the time.  You could also have
one of the X terminals handle indirect XDMCP queries and serve up the
chooser to the other X terminals.
