There are a few basic concepts and terminologies you should be familiar with.
These terms will appear here, in the manual pages, and in other help files and
documentation.
The "X server" is the low-level driver software that interacts
with your video card and other system hardware, and manages the
"display" and the various components attached to the
"display" (keyboard, mouse, etc.). And, of course, handles
requests from clients as well. There are different X servers for different
chipsets.
X Servers are referenced in the form of:
host.domain:display_number.screen_number
An example would look like: my_computer:0.0
If host (and domain) is omitted, localhost is assumed. "Host"
can be a remote host. If "screen" is omitted, then
"0" (the first screen) is assumed. In it's shortest form, the
X server is often represented as just ":0", which would be the
first local "display". X supports
multiple "displays"and multiple
"screens".
"Screen" and "Display" have special meanings in
relation to X servers, in addition to their more common usage.
When X is invoked, the X server will initialize
one or more "displays". Yes, X can
have more than one "display" available (though this is not a
common configuration for the average user). Each "display" is
a separate instance of "X". The "display"
includes not only the obvious video components, but also the keyboard,
mouse and other input type components. The user can only access one
display at a time via the same keyboard and
monitor. "Displays" may reside locally, or on a networked
host "somewhere", or both. It is possible that if multiple
"displays" are available, the user can choose which one he
wants when he logs in. Each "display" may have its own
unique configuration (e.g. resolution). But again, the most typical
configuration is just one "display" with one "screen",
which is how most of us use X.
In reference to X servers, "screen" means the primary video
output with which you view X.
And there can be more than one "screen", just like you can
have more than one "display". Additional
"screens" are used in "multi-headed displays" for
instance. In fact you can even have more than one computer running off a
single X server. This is beyond the scope of this document, but you should
be aware of this degree of flexibility as it is an important ingredient of
the X protocol.
"Desktop" can mean different things in different
contexts. Often, "desktop" means what is more properly
called the "Desktop Environment". Prime examples of this are
KDE, GNOME, and the not
as well-known CDE, which are high level
applications that control much of how the user interacts with the
X session. They provide consistent look and
feel, as well as consistent configuration and come bundled with their own
set of utilities for common tasks.
"Desktop" also sometimes just means the viewable screen area.
This is more of the MS Window's meaning. X
environments though are capable of having multiple virtual
"desktops" that can be switched between as needed. This helps with
organizing different tasks. Each "desktop" may its own windows
and clients that are specific to it. Right now I have seven
WindowMaker desktops
(WindowMaker calls them
"WorkSpaces"), and one of those I have dedicated to writing
this document. This "desktop" has thirteen unique windows at
the moment (man pages, browser windows, clock, gvim, xterms, etc).
"Clients" are any program that connect to the X server, and
require an X server for some task (e.g. to display itself). Often, these
are displayed in their own "window", but not always. For
instance, if I use CTRL-N to open a new
Mozilla window, this is one
X client but with two windows. If I run a command
line X utility like xev to
view key and mouse events, this runs in the xterm's
window, so has none of its own, but is still a "client".
Clients can be locally running applications, or applications that are
running on another system over the network, but are displayed locally.
The "Window Manager" is a special type of client application
and a user definable component of the GUI. It is what the user interacts
with to a large extent. The Window Manager provides such functionality as
window borders and decorations, menus, icons, virtual desktops, button
bars, tool bars, and allows the user to customize these. It is technically
possible to run X without a window manager
(though not very functional), but not the other way around. Window managers
should not be confused with "Desktop Environments" like
KDE. Desktop Environments include their own
preferred Window Manager, but this is a configurable. There is some
overlapping of responsibilities between Window Managers and Desktop
Environments.
The "root window" is the background of your screen. It is
referred to as a window in name alone, it does not behave like any other
window, but rather you run your applications on the root window, or put an
image on it, or perhaps just a solid color. All other windows are children
of this parent window. The root window conceivably can be larger than the viewable
screen area.
The "pointer" is the arrow or indicator of any
given shape which represents the location of your mouse, or other pointing
device. The pointer often changes to give you contextual feedback as to
what will happen when you use the mouse at that point on the screen.
The "window" is a frame in which any given application runs
and which is "managed" by the Window Manager. This includes
pretty much anything except the so-called root window. Even windows which
do not appear to have frames, titles, or normal borders of any kind are
being managed by your window manger. The "active window" is
the window you are currently using. This window will will respond to the
keyboard when you type, and is traditionally denoted by the fact that your
mouse cursor is pointing at it, though this is not always the case. The
active window is said to have "focus". Most Window Managers
will somehow highlight the "active", or focused, window to
differentiate it from other windows.
"Menus", "icons" and "task bars"
behave in X similar to the way they behave in
other windowing systems, and the same general principles apply.
Windows that run text only applications are called "terminal
emulators", such as xterm and various
similar applications. This is the well-known "command line" in
an X environment. These basically emulate a console text-only display, and
have some advantages due to their being used in
X. These are much more complex and sophisticated
applications than a simple DOS box on Windows.
"Widgets" is the term used to describe such GUI control
components as buttons, sliders, menus, scrollbars, listboxes, checkboxes, etc.
"Toolkits" are libraries containing a diverse set of widgets
with the same look and feel. Some common examples are
GTK+ (used by GNOME,
Mozilla and others), Xaw
(X Athena Widget set), Tk,
Motif and QT (used
by KDE). Applications are built with one toolkit
or another. Sometimes the same application can be built with different
toolkits, depending on compile time options.
Window "geometry" is a shorthand way of expressing a window's
size and screen placement. This might look like
"60x20+10+50", which is WIDTH x HEIGHT +VERT_OFFSET
+HORZ_OFFSET. While both pairs are often specified, it is
permissible to use just one or the other pair.
In X lingo, "resources" are
definable application attributes. Commonly available
"resources" are fonts, colors, size, window title, etc,
etc.
The definitive source of information on XFree86 is, of course,
http://xfree86.org. Don't forget
the man pages that you have installed already too (X, Xserver, XF86Config,
XFree86, xdm, xinit, xmodmap, startx, xauth, Xsecurity, etc, etc). These are
really mostly decent, though some are quite technical.