X Windows and Linux
Linux newbies will likely find X Windows confusing. There are X servers, X accellerators, window managers, and an array of programs whose names would confuse anyone upon first exposure. (I'd enjoy hearing what Mark Twain might say about the potential confusion.)
Vocabulary
Unix is basically a command line operating system, like DOS of old in appearance, but very much unlike it in it's level of performance. X Windows is a windowing environment that runs on top of Unix. To make this happen, four things are required: an X window standard (called X11R6), an X server (one implementation is XFree86), a window manager (like fwvm), and X client software, like xterm or XMosaic, for instance. What does all this alphabet soup vocabulary mean?
The X Window System. The Athena project at MIT was a joint effort between that university and Digital Equipment to create a graphical interface for Unix, which was finally released in April of 1994. The current version of X, which is now the standard graphical interface for Unix, is Version 11, Release 6. X Windows, often called ``X'', is also known as X11R6 (pronounced ``ex eleven, are 6'').
X Windows is the generic name for that overall program that interfaces the graphical software environment with your system's hardware. The actual implementation of X Windows is accomplished by the X Server. X11R6 is the basic solution, but software vendors write various implementations, which you are free to choose from. So, whatever X server you run on your system is your X Windows. It is the implementation of X11R6 you have chosen for your needs.
The X Server. This is also known as the X Accelerater. This is usually either a commercial application, such as Xi Graphics's Accelerated X or Metro X. But the ubiquitous XFree86 is a free version that is quite good in its own right. It is distributed under the GNU public license.
Most all Linux distributions come with XFree86. This is a powerful and popular X Server, and it has several advantages over the commercial implementations of X11R6. One is that bugs can be fixed immediately because the developers are volunteers, not paid employees who must follow management's lead. Most often, management follows their own perception of the marketplace anyway, which makes for slow solutions to immediate problems. XFree86 developers are not encumbered by commercial and marketplace restrictions. Another advantage is that oddball hardware might be supported with XFree86 before it might be supported with a commercial implementation. (In practice this doesn't always work out this way.) But anyone who can write a device driver for their favorite video card du jour can submit it to be incorporated into the next distribution of XFree86, and it well could become a standard part of the software. Commercial implementations are not always so flexible.
The Window Manager. The window manager governs the actual look and feel of your X Windows graphical environment. The hardware and system needs of the graphical environment are handled by the X Server, but the actual appearance and behavior are handled by the humble window manager.
There are many different window managers which are all designed to run on X11R6. Whether you are running XFree86 on a Sun Sparcstation or Metro X on a PowerPC, your window manager will likely run just fine. This is because X11R6 is standard and uniform, hopefully, so window managers can be also. If you're using the popular AfterStep window manager, for example, you'll find the AfterStep mailing list full of users from many different platforms all using the same software. The basic code will need to be recompiled for each particular platform, or you can obtain a precompiled copy for your platform, but that is about the only difference.
X Clients. The graphical environment is useless unless you have software that runs on it. Those individual software programs that run on X Windows are called X Clients. The thing to remember about an X client is that it usually only runs under X Windows. Many programs run under a non-graphical interface as well as X Windows itself, but these use programs use two different resources.
X clients normally use one of the many graphical toolkits available for X Windows. These are libraries of common pieces of code that different programs may share on an X Windows system. Several such ``toolkits'' exist that are popular among developers, so your X client programs may actually look different in some respects. One program may use ``widgets'' (radio buttons, checkboxes, scrollbars, etc) from the Motif libraries, while another program may use Tk libraries, while still another may use X Forms libraries. This is permissible under X Windows, and some client software may even be available for compiling under your choice of graphical libraries.
Further, much of Unix software is used with a text interface. This is not as snazzy looking as the graphical counter part, but it has the advantage of running in a non-graphical environment. This is handy when your system is broken, and you can get a command line but not a graphical interface. (Also, Unix servers often sit in a corner and process billions of instructions per week without anyone ever looking at it, so a graphical interface is wasted on it anyway.) Besides, much of these non-graphical applications are so full-featured that you can configure it faster with a text interface than a graphical one. (Such as the Pine mail reader, for example, or the Ghostscript interpreter.)
Conclusions. The bottom line in X Windows is that nearly everything is configurable. If there is something you want to accomplish with your environment, it is capable of being done. The main reason why Linux window managers differ dramatically in features from Microsoft Windows is that it was left to the individual user to design his or her own interface. The standard window managers are pretty plain vanilla right off the ftp server, but you can configure them with much more detail and function than you can configure something like Windows 95. It becomes an ongoing project, like building a hot rod in the garage. With Microsoft, you have to live with the same look and feel; with Unix, you can run an OpenStep window manager one day, a Macintosh-like window manager the next, or a Motif window manager, or even a Windows 95-like windowing environment. It's like a Mighty Morphing Hod Rod.
But, once you build that hot rod, you ready for your next project. For the die hard Unix geek, the joy is in the journey, not necessarily the destination. Also, Unix geeks are not so interested in appearance as in function. (I have heard that we geeks don't often have a highly developed sense of artistic taste, anyway.) However, if you search the web for screen shots of Linux and Unix desktops, you'll find a cornucopia of environments that will either repulse you or enthrall you. Their authors will likely give you a copy of their configuration files simply for the asking.