We won't delve into configuring Window Manager's and Desktop Environments.
There is just too much to try to cover in one document. It is important to
realize that the two are not the same. There are many, many Window Managers
available.
Window Managers are highly configurable. Many aspects of user interaction can
be controlled by the Window Manager.
Some of the most popular Window Managers:
There are many, many lesser known ones as well.
http://www.plig.org/xwinman/
has an updated list of Window Managers, and related information.
There is always freshmeat too.
GNOME and KDE
both have their default Window Manager, but support other, compliant Window
Managers as well. Your distribution probably has included at least several.
Try them all if you don't already have a favorite. Your distribution probably
also has a method of switching dynamically between Window Managers (and Desktop
Environments too).
Desktop Environments are not really new, but their popularity has increased
with advent of the two big names: KDE and
GNOME. To a certain extent, the Desktop
Environment functionality overlaps the Window Manager's. They both can be
responsible for the root window background, root window menu, icons,
taskbars, etc. Generally speaking, if a Desktop Environment is running, it is
controlling these aspects. That is the main idea behind them -- to integrate
the various components into a cohesive, consistent whole. Desktop
Environments also add some interoperability and ease-of-use features that a
simple Window Manager cannot.
Oh, another point: Desktop Environments also try to do as much
X session configuration as possible. Any of their
compliant clients will more than likely be configured by the Desktop, or have
it's own configuration that conforms to the Desktop's style. This is at
least partly to avoid much of the seemingly helter-skelter text file
configuration we looked at in the above sections, and make life a little
easier for the user.
There is a trade-off in this additional functionality, and that is that it
takes memory and system resources to oversee all this. If you have plenty of
memory and a fast computer, this is no problem. But in low memory situations,
this can cause a slowdown (see the performance
section below). 64M of RAM is probably borderline with either
KDE or GNOME.
So do you need a Desktop Environment? That is up to the user. They are
certainly not required to run X, but do add
features that many users want or expect in a GUI. Which one is better? Ah,
but that is up to you to decide!
KDE has been around longer than
GNOME, and some would say maybe a little more
mature. KDE is based on the QT widget toolkit. A
quote from the KDE home page:
KDE is a powerful Open Source graphical desktop environment for Unix
workstations. It combines ease of use, contemporary functionality, and
outstanding graphical design with the technological superiority of the Unix
operating system.
KDE is a mature desktop suite providing a solid basis to an ever growing
number of applications for Unix workstations. KDE has developed a high
quality development framework for Unix, which allows for the rapid and
efficient creation of applications.
GNOME is based on the GTK+ toolkit.
And a quote from the GNOME home page:
GNOME stands for GNU Network Object Model Environment. The GNOME project
intends to build a complete, user-friendly desktop based entirely on free
software. GNOME is part of the GNU project, and GNOME is part of the Open
Source(tm) movement. The desktop will consist of small utilities and larger
applications which share a consistent look and feel. GNOME uses GTK+ as the
GUI toolkit for all GNOME-compliant applications.
XFce is a lighter weight, less featureful Desktop
Environment that does not get as much attention as the others.
XFce is also based on the GTK+ toolkit. And a
quote from the XFce home page:
The XFce project was first started because I needed a simple, light and
efficient environment for my Linux System.
I believe that the desktop environment should be made to increase user
productivity. Therefore, the goal is keep most system resources for the
applications, and not to consume all memory and CPU usage with the desktop
environment.
All these have their own extensive documentation. If you can't find what you
need installed on your system, check the respective home pages.