This section provides a brief introduction to the X Window System and the client server model for X terminals and their Linux-based host systems.
XFree86 is an Open Source implementation of the X Windows System (X). It provides a client-server interface between mouse, keyboard, video display, and a windowed desktop environment. Because X is network transparent, client programs can be run on a different host machine than the one on which an X Server resides.
The XFree86 bundle includes a large array of programs including a terminal emulator, clocks, and a mail interface. This document will focus exclusively on the portions of XFree86 required for maintaining an X Session between an X Terminal and a Linux host. These are the X Display Manager, xdm, an access control programs and the X Font Server, xfs.
X Terminals are diskless networked microcomputers. These systems will generally consist of mouse, monitor, keyboard, RAM, battery-powered NVRAM, and secondary ports for connecting peripheral devices such as printer, bar code scanner, etc. Because they are diskless, X Terminals load their operating system, configuration information, and fonts into memory from a host machine running nfs or tftp, and xfs.
The Operating System of an X Terminal will provide basic administrative interface for configuration parameters such as tcp, xdmcp, font path, boot path, and other host-related configurations. It's primary function, however, is to act as an X Server which exchanges mouse, keyboard, and other display information with client applications loaded on a remote host.
The canonical way of deploying X Terminal systems on an IP-based network is to use the Bootstrap protocol, bootp, to provide client and host ip addresses and to request a bootable image to mount the operating system. Clients may also store this information from their own NVRAM which mitigates the need for fetching it off of a network. NFS or TFTP is utilized to load the os image and system fonts into RAM on the client machine. XDM provides ip-based authentication and management of the display session using XDMCP. XFS may optionally be run on the host to provide anti-aliasing fonts to the client system (highly recommended). TCP is commonly the transport layer for all client-server interaction.