441 lines
12 KiB
HTML
441 lines
12 KiB
HTML
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>XDM</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
|
|
"><LINK
|
|
REL="HOME"
|
|
TITLE="XDM and X Terminal mini-HOWTO"
|
|
HREF="index.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="Basic Concepts"
|
|
HREF="basics.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Configuring XDM"
|
|
HREF="config.html"></HEAD
|
|
><BODY
|
|
CLASS="SECT1"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
SUMMARY="Header navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>XDM and X Terminal mini-HOWTO</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="basics.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
></TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="config.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="XDM">3. XDM</H1
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="XDM-WHAT">3.1. What is XDM</H2
|
|
><P
|
|
> Put simply, XDM (the X Display Manager) can be thought of as a graphical
|
|
replacement for the command line 'login' prompt. In reality, it can
|
|
actually do much more than that.
|
|
</P
|
|
><P
|
|
> Typically, it would be started by the 'root' user (or the system startup
|
|
scripts) on power up, and would present a user with a graphical login
|
|
prompt. It will then manage the users X session once they login -
|
|
i.e. it will initiate the running of their window manager and applications.
|
|
</P
|
|
><P
|
|
> This could be considered a typical 'simple local machine login'
|
|
configuration, as may be found installed by many Linux distributions
|
|
by default. However, XDM can also manage remote X servers and provide
|
|
login prompts to remote 'X terminals'. In short, it is not limited to
|
|
the local machine - it can easily manage other machines connected via
|
|
a network.
|
|
</P
|
|
><P
|
|
> XDM is a very configurable utility and this document will only just
|
|
'scratch the surface' of what may be achieved. This document aims to
|
|
provide enough information to configure your X terminals and application
|
|
servers to connect to each other. The reader is referred to
|
|
<A
|
|
HREF="resources.html"
|
|
>Section 7</A
|
|
> for further information on the topics
|
|
discussed here.
|
|
</P
|
|
><P
|
|
> A note on security: X (in its default configuration) and XDMCP are not
|
|
particularly secure. I am assuming that you are running X on a
|
|
'trusted' network and that security is not an issue.
|
|
For details of how to tighten up your X connections
|
|
(and more details about using the networking capabilities of X) please
|
|
refer to the 'Running Remote X Applications' Howto document, which is
|
|
also part of the LDP (see <A
|
|
HREF="resources.html"
|
|
>Section 7</A
|
|
>).
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="XDM-XTERM">3.2. What is an X terminal</H2
|
|
><P
|
|
> This term could be used to cover various configurations, but at its
|
|
simplest, is a machine with a network connection, keyboard,
|
|
mouse and monitor, configured to run the X Windows System to connect
|
|
to an application server somewhere on the network.
|
|
</P
|
|
><P
|
|
> There are several configurations of 'X terminal' with varying levels
|
|
of functionality, ranging from completely diskless terminals to full
|
|
X workstations.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="XDM-TERMS">3.3. Some Terminology</H2
|
|
><P
|
|
> Before I go any further, I ought to explain the terms I will be using
|
|
in this document. When talking about X, there is quite a lot of
|
|
confusion over what is serving facilities to what. This is especially
|
|
true when you are considering distributed sessions over a network
|
|
involving X terminals. I will be using the terms described below.
|
|
</P
|
|
><P
|
|
> <P
|
|
></P
|
|
><DIV
|
|
CLASS="VARIABLELIST"
|
|
><DL
|
|
><DT
|
|
>Diskless X terminal</DT
|
|
><DD
|
|
><P
|
|
> This would be a machine with no local disks, that would perform its
|
|
boot up from an EPROM (or similar) and utilises a network connection to a
|
|
server. It would obtain its
|
|
network configuration, operating system, system configuration and all
|
|
applications from the server. Once booted however, this
|
|
would be the same as a 'dumb X terminal' (see below). Typically this
|
|
configuration would use a combination of the following network protocols
|
|
in order to boot: BOOTP, DHCP, TFTP, etc. Refer to
|
|
<A
|
|
HREF="resources.html"
|
|
>Section 7</A
|
|
>
|
|
for some references that detail how to build diskless X terminals.
|
|
</P
|
|
></DD
|
|
><DT
|
|
>Dumb X terminal</DT
|
|
><DD
|
|
><P
|
|
> This would be a machine that boots from its local disk into an operating
|
|
system, and starts the 'X server' program and nothing more. Somehow, a login
|
|
prompt would be provided on the machine, to enable a user to login to an
|
|
'application server' somewhere on the network.
|
|
</P
|
|
></DD
|
|
><DT
|
|
>X Workstation</DT
|
|
><DD
|
|
><P
|
|
> This would be similar to a dumb X terminal, but would provide the option
|
|
of logging on to the local machine itself, hence would be quite capable of
|
|
becoming a standalone workstation (i.e. no network connectivity) if required.
|
|
Most distributions can be configured 'out of the box' as a stand-alone
|
|
X Workstation, with a graphical login prompt.
|
|
</P
|
|
></DD
|
|
><DT
|
|
>Application Server</DT
|
|
><DD
|
|
><P
|
|
> In the context of this document, I use the term 'application server' to
|
|
describe a machine that will provide the applications (X clients) that our X
|
|
terminal will want to run. This can include everything from editors and browsers,
|
|
through to the actual 'Window Manager' itself.
|
|
</P
|
|
></DD
|
|
><DT
|
|
>X Server</DT
|
|
><DD
|
|
><P
|
|
> This is the program that manages the display of a machine with a physical
|
|
console (display, keyboard, mouse, etc). It can be thought of as a combined
|
|
graphics card, keyboard and mouse 'driver'.
|
|
This will provide these facilities as a service to X clients (hence the term
|
|
'server'). Please refer to the X User Howto in
|
|
<A
|
|
HREF="resources.html"
|
|
>Section 7</A
|
|
>
|
|
for more details.
|
|
</P
|
|
></DD
|
|
><DT
|
|
>X Client</DT
|
|
><DD
|
|
><P
|
|
> This is an application that requires the use of an X server to access
|
|
input (keyboard and mouse) and output (display). An X client cannot produce
|
|
output without the services of the X server. The X server could be
|
|
running locally (on the same machine, as is the case with an X
|
|
workstation) or elsewhere on the network
|
|
(as is the case with an X terminal connecting to an Application Server).
|
|
</P
|
|
></DD
|
|
></DL
|
|
></DIV
|
|
>
|
|
</P
|
|
><P
|
|
> From the above descriptions, an X Workstation could be thought of
|
|
as consisting of a dumb X terminal and application server running on the same
|
|
machine.
|
|
</P
|
|
><P
|
|
> This document will be looking at the architecture of the various options
|
|
listed above and will describe the role that XDM can play in configuring
|
|
them.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="XDM-DO">3.4. What can XDM do</H2
|
|
><P
|
|
> XDM is responsible for providing the user with a login
|
|
prompt and initiating their X session. It can manage local sessions (i.e. people
|
|
logging into an X workstation) or sessions on remote machines, via a connection
|
|
to an application server, from a diskless or dumb X terminal.
|
|
</P
|
|
><P
|
|
> XDM would typically run on an application server, to permit users to logon
|
|
and run applications from that server.
|
|
</P
|
|
><P
|
|
> There are 2 main ways that XDM can interact with an X Server:
|
|
<P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
> XDM accepts queries from X server
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> XDM manages X server
|
|
</P
|
|
></LI
|
|
></UL
|
|
>
|
|
</P
|
|
><DIV
|
|
CLASS="SECT3"
|
|
><H3
|
|
CLASS="SECT3"
|
|
><A
|
|
NAME="XSERV-QUERY">3.4.1. XDM accepts queries from X Server</H3
|
|
><P
|
|
> The communications between XDM and the actual 'X server' (the machines
|
|
with the physical screen/keyboard/mouse/etc) are handled via XDMCP the
|
|
'X Display Manager Control Protocol'.
|
|
</P
|
|
><P
|
|
> This permits X servers to send out queries to servers running XDM.
|
|
Effectively, the X server has to say 'I have someone wanting to login -
|
|
please give me a login prompt'. In this mode of operation, XDM will
|
|
not do anything unless it is asked to by your X server.
|
|
</P
|
|
><P
|
|
> The query from the X server can take one of 3 forms:
|
|
<P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
> Direct query: the X server contacts a named host, requesting that XDM
|
|
on that host presents a login prompt on its display.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Broadcast: the X server sends out a broadcast message to the network,
|
|
and the first server running XDM that responds to the broadcast will
|
|
be the one to present the login prompt on its display.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> Indirect query: the X server contacts a named host, but asks it which
|
|
other hosts it knows about on the network. The named host will then
|
|
present the user with a list of hosts to choose from, and will then
|
|
go on to initiate communications with the selected host resulting in
|
|
the selected host presenting a login prompt on the X servers display.
|
|
</P
|
|
></LI
|
|
></UL
|
|
>
|
|
</P
|
|
><P
|
|
> There are several other options, but these will not be described here
|
|
- refer to the XDM and XDMCP documentation in <A
|
|
HREF="resources.html"
|
|
>Section 7</A
|
|
>
|
|
for more details.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT3"
|
|
><H3
|
|
CLASS="SECT3"
|
|
><A
|
|
NAME="XDM-SERVER">3.4.2. XDM Manages X Server</H3
|
|
><P
|
|
> If you have a set of machines (e.g. diskless or dumb X terminals) that just
|
|
end up running an X server, all designed to provide a login prompt to a
|
|
single application server, then it is possible to configure XDM on the
|
|
application server to connect back to each X server and present its login
|
|
prompt on each display automatically.
|
|
</P
|
|
><P
|
|
> In this mode of operation, XDM will actively 'push out' a login prompt
|
|
to any listed X server that it knows about, without waiting for
|
|
a query from the X servers themselves.
|
|
</P
|
|
><P
|
|
> In this case, the configuration file 'Xservers' (see later) lists each
|
|
machine (including the local display, if required) to which XDM should
|
|
connect, to display its login prompt.
|
|
</P
|
|
><P
|
|
> This configuration, when used with no remote X servers listed in the
|
|
configuration, is the typical configuration used for a X workstation,
|
|
in order to present a user with a graphical login to the local machine
|
|
he is working on. As stated earlier, most distributions will support
|
|
this configuration 'out of the box' in order to present the user with
|
|
a local graphical login prompt.
|
|
</P
|
|
><P
|
|
> Note: XDM must be permitted to connect to the X servers in question - so
|
|
the access control on the X servers must be configured accordingly.
|
|
</P
|
|
></DIV
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
SUMMARY="Footer navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="basics.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="index.html"
|
|
ACCESSKEY="H"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="config.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>Basic Concepts</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Configuring XDM</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |