1108 lines
53 KiB
Plaintext
1108 lines
53 KiB
Plaintext
|
XDM and X Terminal mini-HOWTO
|
|||
|
|
|||
|
Kevin Taylor
|
|||
|
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>kevin@northants.lug.org.uk
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Revision History
|
|||
|
Revision v1.00 2002-05-16 Revised by: KT
|
|||
|
Minor updates to all sections. Added details of Windows/Linux
|
|||
|
interoperability. Added section on starting XDM. Added details of KDM and
|
|||
|
GDM. Added new software resources.
|
|||
|
Revision v0.05 14 November 2000 Revised by: KT
|
|||
|
Added cross-references to other Howtos
|
|||
|
Revision v0.04 6 November 2000 Revised by: KT
|
|||
|
Updates after first public draft.
|
|||
|
Revision v0.03 3 July 2000 Revised by: KT
|
|||
|
Minor updates from first comments
|
|||
|
Revision v0.02 28 June 2000 Revised by: KT
|
|||
|
First SGML source draft from HTML source
|
|||
|
Revision v0.01 27 June 2000 Revised by: KT
|
|||
|
First HTML source draft
|
|||
|
|
|||
|
|
|||
|
This document describes the basic ideas for using XDM to manage X terminals.
|
|||
|
It is not meant to be a comprehensive discussion of all the features of XDM,
|
|||
|
but a gentle introduction to what XDM can do.
|
|||
|
|
|||
|
For a full discussion about the installation and configuration of X
|
|||
|
terminals, please refer to the 'Thin-client' HOWTO, from the Linux
|
|||
|
Documentation Project or the Linux Terminal Server Project (see Section 7).
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
Table of Contents
|
|||
|
1. Introduction
|
|||
|
1.1. Copyright Information
|
|||
|
1.2. Disclaimer
|
|||
|
1.3. New Versions
|
|||
|
1.4. Credits
|
|||
|
1.5. Feedback
|
|||
|
1.6. To do
|
|||
|
|
|||
|
|
|||
|
2. Basic Concepts
|
|||
|
2.1. What is covered
|
|||
|
2.2. About this document
|
|||
|
|
|||
|
|
|||
|
3. XDM
|
|||
|
3.1. What is XDM
|
|||
|
3.2. What is an X terminal
|
|||
|
3.3. Some Terminology
|
|||
|
3.4. What can XDM do
|
|||
|
|
|||
|
|
|||
|
4. Configuring XDM
|
|||
|
4.1. Configuration Files
|
|||
|
4.2. Configuring XDM to Manage X Servers
|
|||
|
4.3. Configuring XDM to Receive Queries
|
|||
|
4.4. Starting X
|
|||
|
4.5. Starting XDM
|
|||
|
4.6. The Chooser Application
|
|||
|
4.7. Alternatives to XDM
|
|||
|
|
|||
|
|
|||
|
5. Advanced Configuration Options
|
|||
|
5.1. Configuration Sets
|
|||
|
5.2. X Resources
|
|||
|
|
|||
|
|
|||
|
6. Common Configurations
|
|||
|
6.1. Linux to Linux
|
|||
|
6.2. Linux to Other Systems
|
|||
|
6.3. Other Systems to Linux
|
|||
|
|
|||
|
|
|||
|
7. Resources
|
|||
|
|
|||
|
1. Introduction
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
1.1. Copyright Information
|
|||
|
|
|||
|
This document is copyrighted (c) 2000-2002 Kevin Taylor and is distributed
|
|||
|
under the terms of the Linux Documentation Project (LDP) license, stated
|
|||
|
below.
|
|||
|
|
|||
|
Unless otherwise stated, Linux HOWTO documents are copyrighted by their
|
|||
|
respective authors. Linux HOWTO documents may be reproduced and distributed
|
|||
|
in whole or in part, in any medium physical or electronic, as long as this
|
|||
|
copyright notice is retained on all copies. Commercial redistribution is
|
|||
|
allowed and encouraged; however, the author would like to be notified of any
|
|||
|
such distributions.
|
|||
|
|
|||
|
All translations, derivative works, or aggregate works incorporating any
|
|||
|
Linux HOWTO documents must be covered under this copyright notice. That is,
|
|||
|
you may not produce a derivative work from a HOWTO and impose additional
|
|||
|
restrictions on its distribution. Exceptions to these rules may be granted
|
|||
|
under certain conditions; please contact the Linux HOWTO coordinator at the
|
|||
|
address given below.
|
|||
|
|
|||
|
In short, we wish to promote dissemination of this information through as
|
|||
|
many channels as possible. However, we do wish to retain copyright on the
|
|||
|
HOWTO documents, and would like to be notified of any plans to redistribute
|
|||
|
the HOWTOs.
|
|||
|
|
|||
|
If you have any questions, please contact <linux-howto@metalab.unc.edu>
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.2. Disclaimer
|
|||
|
|
|||
|
No liability for the contents of this documents can be accepted. Use the
|
|||
|
concepts, examples and other content at your own risk. As this is a new
|
|||
|
edition of this document, there may be errors and inaccuracies, that may of
|
|||
|
course be damaging to your system. Proceed with caution, and although this is
|
|||
|
highly unlikely, the author(s) do not take any responsibility for that.
|
|||
|
|
|||
|
All copyrights are held by their by their respective owners, unless
|
|||
|
specifically noted otherwise. Use of a term in this document should not be
|
|||
|
regarded as affecting the validity of any trademark or service mark.
|
|||
|
|
|||
|
Naming of particular products or brands should not be seen as endorsements.
|
|||
|
|
|||
|
You are strongly recommended to take a backup of your system before major
|
|||
|
installation and backups at regular intervals.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.3. New Versions
|
|||
|
|
|||
|
The latest version number of this document may be obtained from The Northants
|
|||
|
LUG, UK Project Pages .
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.4. Credits
|
|||
|
|
|||
|
Thanks go to the following people for help with information and proof reading
|
|||
|
of the document.
|
|||
|
|
|||
|
Scot W Stevenson for the original X terminal mini-howto document, from 1995,
|
|||
|
on which some of the material for the section on advanced xdm-config
|
|||
|
configurations was obtained.
|
|||
|
|
|||
|
Members of the Northants LUG, UK for proof reading the document.
|
|||
|
|
|||
|
The writers of the XDM, Xserver man pages and the default XDM scripts.
|
|||
|
|
|||
|
Credits for 0.05
|
|||
|
Everyone who commented on the earlier versions, including Neil Zanella,
|
|||
|
Rafael Herrera, Paul Hornshaw, Clive Jones, Robert de Geus, Alex
|
|||
|
Schenkman, Richard Kaszeta, Malcolm Herbet
|
|||
|
|
|||
|
Credits for 1.00
|
|||
|
The following people provided feedback and comments which have led up to
|
|||
|
the 1.00 release: Alan James, Stephen Eglen, Malcolm Hunter, Holgar
|
|||
|
Hoffman, Patrick Rynhart, Amedeo Lanza, Alexander Skopalik, Mike Banahan.
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
1.5. Feedback
|
|||
|
|
|||
|
Feedback is most certainly welcome for this document. Without your
|
|||
|
submissions and input, this document wouldn't exist. Please send your
|
|||
|
additions, comments and criticisms to the following email address: <
|
|||
|
xdm-mini@northants.lug.org.uk>.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.6. To do
|
|||
|
|
|||
|
I probably ought to mention some details about the following at some point
|
|||
|
...
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Debugging problems with XDM.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>FAQs and common mistakes
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
2. Basic Concepts
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
2.1. What is covered
|
|||
|
|
|||
|
This document describes the basic concepts behind using XDM (the X Display
|
|||
|
Manager) to manage X terminals and X servers, in order to provide
|
|||
|
'thin-client' computing, using Linux.
|
|||
|
|
|||
|
X (or the 'X Window System') is the windowing and graphics environment of
|
|||
|
choice for Unix systems. Its particular strength (and the key bit that we are
|
|||
|
interested in for this document) is that it separates the running
|
|||
|
applications (web browser, word processor, etc) from the actual graphics
|
|||
|
screen and input devices (mouse, keyboard, etc) via a network communications
|
|||
|
mechanism.
|
|||
|
|
|||
|
Essentially, this means that you can be running an application on one
|
|||
|
machine, but have its input and output redirected to another machine via a
|
|||
|
network. This is the key feature that makes an X terminal possible.
|
|||
|
|
|||
|
This document should be treated as a 'getting started with XDM' document, in
|
|||
|
that it describes the basic terms and concepts for using XDM and X terminals,
|
|||
|
with simple examples that provide the minimum amount of security.
|
|||
|
|
|||
|
The reader is advised to consult the list of resources provided at the end of
|
|||
|
the document in order to proceed beyond these basic facilities - in
|
|||
|
particular, the configuration of the 'authentication' and security settings
|
|||
|
should be examined, as the examples given in this document utilise the least
|
|||
|
secure modes of operation.
|
|||
|
|
|||
|
Please note - the majority of the information in this document was obtained
|
|||
|
from systems running Debian 2.1, SuSE 6.4, Mandrake 7.0 and RedHat 6.0.
|
|||
|
|
|||
|
This document does not discuss the installation or configuration of a network
|
|||
|
or X on Linux. Please refer to the appropriate HOWTO documents from the Linux
|
|||
|
Documentation Project for details (see Section 7).
|
|||
|
|
|||
|
This document also does not attempt to describe how to install and configure
|
|||
|
Linux for operation as an X terminal. For this information, please refer to
|
|||
|
the 'thin-client' HOWTO document, provided as part of the Linux Documentation
|
|||
|
Project, or the Linux Terminal Server Project (see Section 7).
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
2.2. About this document
|
|||
|
|
|||
|
This document came about because I wanted to experiment with Linux on a 486
|
|||
|
PC as an X terminal to my main Linux box.
|
|||
|
|
|||
|
After reading the man pages, specifications and current howto documents
|
|||
|
relating to XDM and X terminals, I ended up getting really confused about
|
|||
|
where XDM was supposed to run and confusing XDM servers with X servers and
|
|||
|
the like, and so after an evening or two of experimentation, this document
|
|||
|
was born.
|
|||
|
|
|||
|
Once the basic terminology has been sorted out, the documentation for XDM and
|
|||
|
self-documenting sample files make very good reading - I just could not find
|
|||
|
a simple introduction to the basic concepts anywhere to get me started.
|
|||
|
Hopefully this document could prove to be a suitable introduction to someone
|
|||
|
in a similar position to me.
|
|||
|
|
|||
|
Oh, and in case you are wondering, a 486dx2/66 with 16 Mb RAM makes a fine X
|
|||
|
terminal!
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3. XDM
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
3.1. What is XDM
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
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 Section 7 for further information on
|
|||
|
the topics discussed here.
|
|||
|
|
|||
|
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 Section 7).
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.2. What is an X terminal
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
There are several configurations of 'X terminal' with varying levels of
|
|||
|
functionality, ranging from completely diskless terminals to full X
|
|||
|
workstations.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.3. Some Terminology
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
Diskless X terminal
|
|||
|
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
|
|||
|
Section 7 for some references that detail how to build diskless X
|
|||
|
terminals.
|
|||
|
|
|||
|
Dumb X terminal
|
|||
|
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.
|
|||
|
|
|||
|
X Workstation
|
|||
|
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.
|
|||
|
|
|||
|
Application Server
|
|||
|
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.
|
|||
|
|
|||
|
X Server
|
|||
|
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 Section 7 for more details.
|
|||
|
|
|||
|
X Client
|
|||
|
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).
|
|||
|
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
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.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.4. What can XDM do
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
XDM would typically run on an application server, to permit users to logon
|
|||
|
and run applications from that server.
|
|||
|
|
|||
|
There are 2 main ways that XDM can interact with an X Server:
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>XDM accepts queries from X server
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>XDM manages X server
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
3.4.1. XDM accepts queries from X Server
|
|||
|
|
|||
|
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'.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
The query from the X server can take one of 3 forms:
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Direct query: the X server contacts a named host, requesting that XDM on
|
|||
|
that host presents a login prompt on its display.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>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.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>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.
|
|||
|
|
|||
|
|
|||
|
There are several other options, but these will not be described here - refer
|
|||
|
to the XDM and XDMCP documentation in Section 7 for more details.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.4.2. XDM Manages X Server
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
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.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4. Configuring XDM
|
|||
|
|
|||
|
This section covers what needs to be configured for XDM to perform the
|
|||
|
functions described so far in this document.
|
|||
|
|
|||
|
In each case, the configuration described is the minimum necessary to
|
|||
|
accomplish each goal. In most cases this means that the configuration is also
|
|||
|
the least secure. Please refer to some of the additional documentation listed
|
|||
|
in Section 7 for information about securing XDM and X terminals (in
|
|||
|
particular the 'Running Remote X Applications Howto' from the LDP).
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.1. Configuration Files
|
|||
|
|
|||
|
This describes the following scheme of XDM configuration files:
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>xdm-config
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Xaccess
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Xservers
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Xresources
|
|||
|
|
|||
|
|
|||
|
These must be setup for the machine actually running XDM itself. They will
|
|||
|
typically be found in (Debian 2.1. Mandrake 7.0.2, RedHat 6.2):
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| /etc/X11/xdm |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
or (SuSE 6.4):
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| /usr/X11R6/lib/X11/xdm |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
xdm-config
|
|||
|
Defines the names and locations of the other configuration files and the
|
|||
|
basic access permissions. For all distributions considered for this
|
|||
|
document, the file names were as listed here (but sometimes the locations
|
|||
|
varied).
|
|||
|
|
|||
|
This also defines the scripts to be run for the various state transitions
|
|||
|
for an X session, i.e. on startup, etc. You should not need to change
|
|||
|
these, as most distributions would appear to come with this
|
|||
|
pre-configured for you.
|
|||
|
|
|||
|
Note that XDM managed X sessions have a different set of startup and
|
|||
|
configuration scripts to X sessions started via xinit or startx (i.e.
|
|||
|
non-XDM managed X sessions).
|
|||
|
|
|||
|
Some distributions (e.g. Redhat 7.1) include the following line in this
|
|||
|
configuration file, which will prevent XDM from listening for queries:
|
|||
|
+---------------------------------------------------------------+
|
|||
|
| DisplayManager.requestPort: 0 |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------+
|
|||
|
This must be commented out as follows:
|
|||
|
+---------------------------------------------------------------+
|
|||
|
| !DisplayManager.requestPort: 0 |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|
|||
|
Xaccess
|
|||
|
Determines which machines can connect to XDM - i.e. from which other
|
|||
|
machines on the network we are accepting XDMCP queries. If a machine is
|
|||
|
not listed in this file, then it will not be able to request a login
|
|||
|
prompt from XDM.
|
|||
|
|
|||
|
Xservers
|
|||
|
Contains a list of machines that XDM will connect to, to provide a login
|
|||
|
prompt, automatically - i.e. those machines already running an X server,
|
|||
|
but would like this machine to provide the login prompt.
|
|||
|
|
|||
|
This is only required for 'XDM Managed X Servers'. You do not need any
|
|||
|
entries in this file if you will be relying on remote X servers to query
|
|||
|
XDM.
|
|||
|
|
|||
|
When running as a stand-alone 'X Workstation', there is usually a single
|
|||
|
entry in this file, listing just the localhost.
|
|||
|
|
|||
|
Xresources
|
|||
|
Details of the X properties used by the XDM widgets (e.g. size of the
|
|||
|
login 'box', colours, bitmap backgrounds, etc).
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
4.2. Configuring XDM to Manage X Servers
|
|||
|
|
|||
|
An entry must be placed in the Xservers file for each X server that XDM will
|
|||
|
be presenting a login prompt on. This could include the local machine and/or
|
|||
|
a list of remote machines.
|
|||
|
|
|||
|
Example
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| # First the local host |
|
|||
|
| :0 local /usr/bin/X11/X vt7 |
|
|||
|
| # |
|
|||
|
| # Then the remote hosts |
|
|||
|
| emma:0 foreign |
|
|||
|
| alex:0 foreign |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
This will start XDM on the local machine and also present a login screen on
|
|||
|
the X servers running on the hosts 'emma' and 'alex' (assuming that
|
|||
|
permissions have been setup on 'emma' and 'alex' such that this machine is
|
|||
|
permitted to connect to the running X servers).
|
|||
|
|
|||
|
Note that it is possible to specify the host and display (:0, :1, etc) if
|
|||
|
required. This is useful, for example, if you are running multiple X servers
|
|||
|
on a single machine, etc.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.3. Configuring XDM to Receive Queries
|
|||
|
|
|||
|
The file Xaccess determines which hosts may query XDM on this machine, in
|
|||
|
order to request a login prompt.
|
|||
|
|
|||
|
Example
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| # First line for direct queries |
|
|||
|
| * |
|
|||
|
| # Following line for indirect queries |
|
|||
|
| * CHOOSER BROADCAST |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
This means that any host may request a login prompt via XDM (the first '*')
|
|||
|
using a direct query.
|
|||
|
|
|||
|
The 'CHOOSER' line specifies which hosts can connect to XDM using indirect
|
|||
|
queries - in this case, any host may query this machine for a list of
|
|||
|
potential hosts to connect to (the second '*' line).
|
|||
|
|
|||
|
'BROADCAST' means that the 'chooser' application on this machine will obtain
|
|||
|
its list of available servers (that will also be running XDM) via network
|
|||
|
broadcast queries. I will talk about the 'chooser' later.
|
|||
|
|
|||
|
It is possible to place specific host names or specifications of network IP
|
|||
|
addresses (e.g. a whole IP network or specific hosts) in these entries (and
|
|||
|
there are also other indirect queries possible, without using the chooser)
|
|||
|
but this is not described here (refer to Section 7 for some links to more
|
|||
|
information).
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.4. Starting X
|
|||
|
|
|||
|
The way you start the X server itself, will depend upon how you want it to
|
|||
|
interact with XDM locally and remotely.
|
|||
|
|
|||
|
X Workstation: XDM and local X server
|
|||
|
XDM will normally start X automatically for you and XDM will usually be
|
|||
|
configured to run as part of the startup process (via the init scripts).
|
|||
|
Most distributions have a specific 'run-level' for starting the system up
|
|||
|
with a graphical login prompt.
|
|||
|
|
|||
|
The Xservers file would typically contain a single entry - that of the
|
|||
|
local host, and the Xaccess file would only need to permit access from
|
|||
|
the local host.
|
|||
|
|
|||
|
X Terminal: Remote XDM
|
|||
|
Just start X with no clients, with access permissions such that the
|
|||
|
remote XDM is able to connect when it starts up. The following will start
|
|||
|
X with no access control:
|
|||
|
+---------------------------------------------------------------+
|
|||
|
| /usr/X11R6/bin/X -ac |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|
|||
|
When the remote XDM is started, it will 'push out' a login prompt to all
|
|||
|
such configured X servers (as listed in its Xservers file).
|
|||
|
|
|||
|
X Terminal: Query a remote XDM
|
|||
|
Recall there are 3 modes for queries: direct, indirect and broadcast
|
|||
|
(direct for a single host, indirect for a list of hosts or broadcast for
|
|||
|
the first host that replies):
|
|||
|
+---------------------------------------------------------------+
|
|||
|
| /usr/X11R6/bin/X -query the.remote.host |
|
|||
|
| /usr/X11R6/bin/X -indirect the.remote.host |
|
|||
|
| /usr/X11R6/bin/X -broadcast |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|
|||
|
|
|||
|
In each case, X will probably have to be started as root.
|
|||
|
|
|||
|
It is possible to have a machine automatically start X and perform a query
|
|||
|
for a running XDM on the network. One way is to 'hijack' the inittab setting
|
|||
|
for running as a graphical login (this is runlevel 5 on Debian and Redhat
|
|||
|
based systems, and 3 for SuSE - this example assumes runlevel 5 throughout).
|
|||
|
This is often the line beginning x:5 towards the end of /etc/inittab. Set
|
|||
|
this to (or add it if it doesn't exist):
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| x:5:respawn:/usr/X11R6/bin/X -broadcast |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
Replacing -broadcast with -direct or -indirect, etc. as required. You may
|
|||
|
have to change your default runlevel to be 5 too, (and then reboot), as
|
|||
|
follows:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| id:5:initdefault: |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.5. Starting XDM
|
|||
|
|
|||
|
In a standard X workstation configuration, XDM would typically be started up
|
|||
|
by specifying the default initial run-level to be that corresponding to a
|
|||
|
full graphical login. On Redhat and Debian based systems this is usually
|
|||
|
runlevel 5. On SuSE it is run-level 3.
|
|||
|
|
|||
|
It is possible to run XDM automatically on startup by changing the default
|
|||
|
runlevel to that described above. This is configured in /etc/inittab as
|
|||
|
follows:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| id:5:initdefault: |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
Alternatively it is possible to add a startup script for XDM itself to the rc
|
|||
|
scripts in the startup directories (/etc/rc.d/ for Redhat/Debian), to start
|
|||
|
and stop XDM in a similar manner to other services on a Linux machine.
|
|||
|
|
|||
|
The following script is suitable for a Redhat (and probably Mandrake) based
|
|||
|
system, and should be saved as /etc/rc.d/init.d/xdm. You will have to enable
|
|||
|
it using 'chkconfig --add xdm'.
|
|||
|
+------------------------------------------------------------------------------+
|
|||
|
| #!/bin/sh |
|
|||
|
| # xdm start/stop script for RedHat based systems |
|
|||
|
| # |
|
|||
|
| # chkconfig: 234 60 60 |
|
|||
|
| # description: xdm permits remote users to logon to this X display |
|
|||
|
| # processname: /usr/X11R6/bin/xdm |
|
|||
|
| # config: /etc/X11/xdm/xdm-config |
|
|||
|
| |
|
|||
|
| # source function library |
|
|||
|
| . /etc/rc.d/init.d/functions |
|
|||
|
| |
|
|||
|
| [ -x /usr/X11R6/bin/xdm ] || exit 0 |
|
|||
|
| |
|
|||
|
| prog=/usr/X11R6/bin/xdm |
|
|||
|
| |
|
|||
|
| RETVAL=0 |
|
|||
|
| |
|
|||
|
| start () { |
|
|||
|
| echo -n $"Starting $prog: " |
|
|||
|
| # start daemon |
|
|||
|
| daemon $prog |
|
|||
|
| RETVAL=$? |
|
|||
|
| echo |
|
|||
|
| [ $RETVAL = 0 ] && touch /var/lock/subsys/xdm |
|
|||
|
| return $RETVAL |
|
|||
|
| } |
|
|||
|
| |
|
|||
|
| stop () { |
|
|||
|
| echo -n $"Stopping $prog: " |
|
|||
|
| killproc $prog |
|
|||
|
| RETVAL=$? |
|
|||
|
| echo |
|
|||
|
| [ $RETVAL = 0 ] && rm -f /var/lock/subsys/xdm |
|
|||
|
| return $RETVAL |
|
|||
|
| } |
|
|||
|
| |
|
|||
|
| restart () { |
|
|||
|
| stop |
|
|||
|
| start |
|
|||
|
| RETVAL=$? |
|
|||
|
| return $RETVAL |
|
|||
|
| } |
|
|||
|
| |
|
|||
|
| # See how we were called. |
|
|||
|
| case "$1" in |
|
|||
|
| start) |
|
|||
|
| start |
|
|||
|
| ;; |
|
|||
|
| stop) |
|
|||
|
| stop |
|
|||
|
| ;; |
|
|||
|
| status) |
|
|||
|
| status $prog |
|
|||
|
| RETVAL=$? |
|
|||
|
| ;; |
|
|||
|
| restart) |
|
|||
|
| restart |
|
|||
|
| ;; |
|
|||
|
| condrestart) |
|
|||
|
| # only restart if it is already running |
|
|||
|
| [ -f /var/lock/subsys/xdm ] && restart || : |
|
|||
|
| ;; |
|
|||
|
| reload) |
|
|||
|
| echo -n $"Reloading $prog: " |
|
|||
|
| killproc $prog -HUP |
|
|||
|
| RETVAL=$? |
|
|||
|
| echo |
|
|||
|
| ;; |
|
|||
|
| *) |
|
|||
|
| echo $"Usage: $0 (start|stop|restart|condrestart|reload|status)" |
|
|||
|
| RETVAL=1 |
|
|||
|
| esac |
|
|||
|
| |
|
|||
|
| exit $RETVAL |
|
|||
|
| |
|
|||
|
+------------------------------------------------------------------------------+
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.6. The Chooser Application
|
|||
|
|
|||
|
When XDM receives an indirect query, and assuming that the appropriate
|
|||
|
options have been specified in Xaccess for the 'chooser' application, it can
|
|||
|
provide the user with a list of other XDM managed servers that it knows
|
|||
|
about.
|
|||
|
|
|||
|
In this mode of operation, instead of the normal XDM login prompt, the user
|
|||
|
will be presented with a 'chooser' application, which will provide a list of
|
|||
|
detected hosts on the network that are currently accepting XDM connections.
|
|||
|
|
|||
|
When I first tried the use the chooser, I found that the Xresources files
|
|||
|
that came with my SuSE and Debian systems, specified a size for the chooser
|
|||
|
widget that was too big for the screens ... The following line from the
|
|||
|
Xresources file fixed that:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| Chooser*geometry: 700x500+300+200 |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
The chooser will obtain its lists of hosts by one of two methods:
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Broadcast Query: In this mode a request is broadcast over the network,
|
|||
|
and a list is built up from the replies received from other application
|
|||
|
servers running XDM.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Explicit Listing: It is possible to provide a list of hosts for the
|
|||
|
chooser in the Xaccess file, as follows:
|
|||
|
+---------------------------------------------------------------+
|
|||
|
| %hostlist emma alex liam abigail |
|
|||
|
| * CHOOSER %hostlist |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------+
|
|||
|
This will mean that the hosts emma, alex, liam and abigail will all be
|
|||
|
listed as candidates - even if one of the machines is down (there is
|
|||
|
often a button to 'ping' the host to see if it is running, before trying
|
|||
|
to connect to it).
|
|||
|
|
|||
|
|
|||
|
Not that it is possible to include the localhost in the list of machines
|
|||
|
known to the chooser as well. XDM should be configured not to startup on the
|
|||
|
local console display though. Login should always be performed via an
|
|||
|
indirect query to the local chooser application, then the localhost should
|
|||
|
appear alongside any other hosts on the network.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.7. Alternatives to XDM
|
|||
|
|
|||
|
Both KDE and Gnome have their own application to replace the standard XDM.
|
|||
|
They do similar things and are well documented. As far as providing remote X
|
|||
|
access, there is a single setting in the configuration file for the
|
|||
|
application to enable XDMCP support.
|
|||
|
|
|||
|
KDM: KDE Display Manager
|
|||
|
The following must be set in the KDM configuration file (/usr/share/
|
|||
|
config/kdm/kdmrc for a Mandrake 8.1 system):
|
|||
|
+---------------------------------------------------------------+
|
|||
|
| [Xdmcp] |
|
|||
|
| Enable=True |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|
|||
|
GDM: Gnome Display Manager
|
|||
|
The following must be set in the GDM configuration file (/etc/X11/gdm/
|
|||
|
gdm.conf):
|
|||
|
+---------------------------------------------------------------+
|
|||
|
| [Xdmcp] |
|
|||
|
| Enable=True |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------+
|
|||
|
To have GDM running without starting the local X server, comment out the
|
|||
|
line
|
|||
|
+---------------------------------------------------------------+
|
|||
|
| 0=Standard |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------+
|
|||
|
in the 'servers' section of the configuration file too.
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
5. Advanced Configuration Options
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
5.1. Configuration Sets
|
|||
|
|
|||
|
The xdm-config file provides a rich set of options, when it comes to defined
|
|||
|
scripts and other configuration files. In many cases, the defaults provided
|
|||
|
with your distribution should be fine, but for those of you who want more ...
|
|||
|
|
|||
|
The names of the startup scripts and configuration files used by XDM are
|
|||
|
determined by a series of statements in the top-level xdm-config file. This
|
|||
|
permits you to configure a different set of files for different X servers and
|
|||
|
X terminals, with different abilities.
|
|||
|
|
|||
|
For example, say you are using XDM to manage your local display, but also
|
|||
|
want it to accept queries from other X terminals on the network. It is
|
|||
|
possible to specify a different Xresources file for each of these cases, by
|
|||
|
using the following 2 lines in xdm-config:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| DisplayManager._0.resources /etc/X11/xdm/Xres_0 |
|
|||
|
| DisplayManager*resources /etc/X11/xdm/Xresources |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
This will use Xres_0 for the local display (_0 is the XDM way of saying :0)
|
|||
|
and Xresources for everything else (the '*').
|
|||
|
|
|||
|
Similarly, if you wanted a particular resource file for a specific host, you
|
|||
|
would use an entry like the following:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| DisplayManager.host_0.resources /etc/X11/xdm/Xres_host_0 |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
Note that XDM configuration files use the terminology host_0, where you would
|
|||
|
normally use host:0, to designate 'display 0 on host'.
|
|||
|
|
|||
|
If you look over your default xdm-config file, you will probably find that it
|
|||
|
has been setup so that your local X server has different files to the remote
|
|||
|
ones anyway, as different things must be performed on startup and reset of
|
|||
|
the server. My Debian file has the following for local servers:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| DisplayManager._0.resources: /etc/X11/xdm/Xresources_0 |
|
|||
|
| DisplayManager._0.setup: /etc/X11/xdm/Xsetup_0 |
|
|||
|
| DisplayManager._0.startup: /etc/X11/xdm/Xstartup_0 |
|
|||
|
| DisplayManager._0.reset: /etc/X11/xdm/Xreset_0 |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
and the following for remote servers:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| DisplayManager*resources: /etc/X11/xdm/Xresources |
|
|||
|
| DisplayManager*setup: /etc/X11/xdm/Xsetup |
|
|||
|
| DisplayManager*startup: /etc/X11/xdm/Xstartup |
|
|||
|
| DisplayManager*reset: /etc/X11/xdm/Xreset |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
5.2. X Resources
|
|||
|
|
|||
|
This document has only briefly touched on the available X resources, but I
|
|||
|
should mention that it is possible to fully configure XDM via the Xresources
|
|||
|
file.
|
|||
|
|
|||
|
The following may all be changed if required:
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Fonts, login prompt sizes
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Background graphics
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Window Titles, etc
|
|||
|
|
|||
|
|
|||
|
There is a more detailed discussion of XDM resources, on Richard Kaszeta's
|
|||
|
web site (see Section 7)
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6. Common Configurations
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
6.1. Linux to Linux
|
|||
|
|
|||
|
6.1.1. Stand-alone X Workstation
|
|||
|
|
|||
|
This has already been mentioned several times in this document, but in
|
|||
|
summary, it is a PC running XDM, with a single entry in the Xservers file,
|
|||
|
relating to the localhost (i.e. the local machine).
|
|||
|
|
|||
|
This is usually the default configuration provided by most distributions 'out
|
|||
|
of the box'.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.1.2. X Terminal and Application Server
|
|||
|
|
|||
|
XDM runs on the application server:
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Xserver: Contains no entries
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Xaccess: Must permit the X terminal to connect
|
|||
|
|
|||
|
|
|||
|
X terminal runs X using a direct query to the application server:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| /usr/X11R6/bin/X -query the.application.server |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.1.3. Group of Managed X Terminals
|
|||
|
|
|||
|
XDM runs on an application server:
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Xserver: Lists each X terminal to be managed
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Xaccess: Must permit each X terminal to connect
|
|||
|
|
|||
|
|
|||
|
Each X terminal, just runs X, with suitable access control to permit XDM to
|
|||
|
connect to it.
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| /usr/X11R6/bin/X -ac |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.2. Linux to Other Systems
|
|||
|
|
|||
|
It is possible to use a Linux X terminal to connect to another system running
|
|||
|
XDM. The same principles as above apply, but the specifics of configuring XDM
|
|||
|
(or its equivalent) will be specific to that system.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.2.1. Linux and Solaris
|
|||
|
|
|||
|
You can run X on a Linux box, instructing it to query a Solaris machine as
|
|||
|
previously described:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| /usr/X11R6/bin/X -query the.solaris.server |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
Note that you may have to configure X on the Linux machine to use the font
|
|||
|
server from the Solaris box. Although my Linux box connected and logged in
|
|||
|
fine without doing this, the fonts used by CDE were not displayed correctly.
|
|||
|
|
|||
|
I have not got this to work yet, as I don't have a Solaris box that I have
|
|||
|
any control over - but I am told that a font entry in /etc/XF86config similar
|
|||
|
to the following should work - you may have to change the port number from
|
|||
|
7200 to something else (7100 has been quoted at me before). Can anyone
|
|||
|
confirm that this works?
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| FontPath "tcp/solaris.box:7200/all" |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.2.2. Linux and Windows
|
|||
|
|
|||
|
It is not possible to use X to remotely display Windows applications on a
|
|||
|
Windows box. It is possible to use X to display Windows versions of X
|
|||
|
applications on a Linux box, using a Windows X Server and Windows X
|
|||
|
applications (for example the XFree86 Win32 port - see Section 7)
|
|||
|
|
|||
|
It is possible to view Windows applications remotely on a Linux box using one
|
|||
|
of the following applications (which don't rely on X or XDM):
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Windows Terminal Services (WTS). RDesktop is a Linux application that
|
|||
|
understands the 'RDP' protocol used by WTS. This enables Linux to act as
|
|||
|
a client to WTS (see Section 7).
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Vitual Network Computing (VNC). This is an excellent platform independent
|
|||
|
remote desktop system that provides a bi-directional 'Windows or Linux'
|
|||
|
to 'Windows or Linux' networked desktop. It can be a bit slow, but works
|
|||
|
well (see Section 7).
|
|||
|
|
|||
|
You can actually do quite strange things with VNC, such has having
|
|||
|
multiple machines connect and 'control' the desktop (and consequently
|
|||
|
'fight' over control of the mouse :). It also doesn't maintain any state
|
|||
|
in the client, so you can leave your client, shutdown, bootup again,
|
|||
|
reconnect and carry on from where you left off. There is even a version
|
|||
|
of the viewer implemented as a Java applet, usable from any Java-enabled
|
|||
|
web browser.
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
6.3. Other Systems to Linux
|
|||
|
|
|||
|
If you have an X server for your system, it should be able to connect to a
|
|||
|
Linux XDM application server.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.3.1. Solaris and Linux
|
|||
|
|
|||
|
I assume that you would run XDM on the Linux box as usual, and instruct X on
|
|||
|
Solaris to query the Linux box - does anyone have any information on this?
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.3.2. Windows and Linux
|
|||
|
|
|||
|
If you have an X server for windows that supports XDMCP queries, then it
|
|||
|
should be possible to configure it to query the Linux box. You should just
|
|||
|
run XDM on the Linux box as usual.
|
|||
|
|
|||
|
There are many commercial X Server implementations for Windows, and I will
|
|||
|
not list them all here. There is also a port of XFree86 to Windows, that
|
|||
|
makes use of the cygwin libraries (used to port many GNU/Linux tools to
|
|||
|
Windows - see Section 7). This works well.
|
|||
|
|
|||
|
The following batch file would start the cygwin XFree86 X server on Windows
|
|||
|
and connect to a Linux box (or any OS/machine running XDM), assuming a
|
|||
|
default installation of cygwin and XFree86 in c:\cygwin (save it as xdm.bat):
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
| @echo off |
|
|||
|
| if "%1"=="" goto noserver |
|
|||
|
| goto allok |
|
|||
|
| :noserver |
|
|||
|
| echo Usage: xdm servername |
|
|||
|
| goto end |
|
|||
|
| |
|
|||
|
| :allok |
|
|||
|
| set path=%PATH%;\cygwin\bin;\cygwin\usr\X11R6\bin |
|
|||
|
| c: |
|
|||
|
| chdir \cygwin\usr\X11R6\bin |
|
|||
|
| XWin -query %1 |
|
|||
|
| |
|
|||
|
| :end |
|
|||
|
| |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
7. Resources
|
|||
|
|
|||
|
This section lists some resources that have been consulted in order to
|
|||
|
construct this document and which provide further details to the concepts
|
|||
|
described.
|
|||
|
|
|||
|
Many of the references listed below form part of the Linux Documentation
|
|||
|
Project (LDP): [http://www.tldp.org/] http://www.tldp.org/
|
|||
|
|
|||
|
The X Window System
|
|||
|
<20><>+<2B>X User Howto (from the [http://www.tldp.org/] LDP)
|
|||
|
|
|||
|
<20><>+<2B>Running Remote X Applications Mini Howto (from the [http://
|
|||
|
www.tldp.org/] LDP)
|
|||
|
|
|||
|
<20><>+<2B>Man pages: X (main concepts), Xserver (X server concepts)
|
|||
|
|
|||
|
<20><>+<2B>X FAQ (on [http://www.x.org/] http://www.x.org/)
|
|||
|
|
|||
|
|
|||
|
Thin-clients/X terminals
|
|||
|
<20><>+<2B>Thin-client Howto Document (from the [http://www.tldp.org/] LDP)
|
|||
|
|
|||
|
<20><>+<2B>Linux Terminal Server Project: [http://www.ltsp.org/] http://
|
|||
|
www.ltsp.org/
|
|||
|
|
|||
|
<20><>+<2B>Setting up LTSP systems (using quiet hardware): [http://
|
|||
|
development.gbdirect.co.uk/xterminal.html] http://
|
|||
|
development.gbdirect.co.uk/xterminal.html
|
|||
|
|
|||
|
<20><>+<2B>Diskless Howto Document (from the [http://www.tldp.org/] LDP)
|
|||
|
|
|||
|
<20><>+<2B>X terminal pages: [http://dns.solucorp.qc.ca/xterminals] http://
|
|||
|
dns.solucorp.qc.ca/xterminals
|
|||
|
|
|||
|
<20><>+<2B>Richard Kaszeta: Converting old PCs into Standalone X Terminals:
|
|||
|
http://www.menet.umn.edu/~kaszeta/unix/xterminal/
|
|||
|
|
|||
|
|
|||
|
XDM, XDMCP, etc
|
|||
|
<20><>+<2B>Man pages: xdm
|
|||
|
|
|||
|
<20><>+<2B>XDMCP Howto Document (from the [http://www.tldp.org] LDP)
|
|||
|
|
|||
|
|
|||
|
Software
|
|||
|
<20><>+<2B>Cygwin/XFree86 (Win32): [http://www.cygwin.com/] http://
|
|||
|
www.cygwin.com/
|
|||
|
|
|||
|
<20><>+<2B>VNC: [http://www.uk.research.att.com/vnc/] http://
|
|||
|
www.uk.research.att.com/vnc/
|
|||
|
|
|||
|
<20><>+<2B>rdesktop: [http://www.rdesktop.org/] http://www.rdesktop.org/
|
|||
|
|
|||
|
<20><>+<2B>X Servers for Windows (and other systems): [http://www.rahul.net/
|
|||
|
kenton/xsites.html] http://www.rahul.net/kenton/xsites.html
|
|||
|
|
|||
|
<20><>+<2B>GPL Java X Server: [http://www.jcraft.com/weirdx/] http://
|
|||
|
www.jcraft.com/weirdx/
|
|||
|
|
|||
|
<20><>+<2B>X Terminal/Diskless specific distributions: [http://lwn.net/
|
|||
|
Distributions/] http://lwn.net/Distributions/
|
|||
|
|
|||
|
|
|||
|
|