old-www/HOWTO/XDM-Xterm/xdm.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"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Configuring XDM</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>