A GUI (Graphical User Interface) is part and parcel of the Windows and Mac operating
systems. It's basically impossible to write an application for those systems
that does not use the GUI, and the systems can't be used effectively from the
command line. GNU/Linux is more modular, that is, it's made up of many
small, independent components that can be used or not according to one's needs
and preferences. One of these components is the X Window system, or simply X.
This component is also sometimes called X11. Please note that ``X Windows''
is not correct.
X itself is a means for programs to talk to your mouse and video card without
knowing what kind of mouse and video card you have. That is, it's an abstraction
of the graphics hardware. User applications talk to X in X's language; X then
translates into the language of your particular hardware. This means that programs
only have to be written once, and they work on everyone's computer.
In X jargon, the program that speaks to the hardware is known as an X
server. User applications that ask the X server to show windows or graphics
on the screen are called X clients. The X server includes a video
driver, so you must have an X server that matches your video card.
The X server doesn't provide any of the features one might expect from a GUI,
such as resizing and rearranging windows. A special X client, called a window
manager, draws borders and title bars for windows, resizes and arranges windows,
and provides facilities for starting other X clients from a menu. Specific window
managers may have additional features.
Window managers available on a Debian system include fvwm, fvwm2,
icewm, afterstep, olvwm, wmaker, twm,
and enlightenment. You'll probably want to try them all and pick your
favorite.
Neither the X server nor the window manager provide a file manager;
that is, there aren't any windows containing icons for your files and directories.
You can launch a file manager as a separate application, and there are many
of them available. The GNOME desktop project is developing an icon-based file
manager and other GUI facilities. See the GNOME homepage
for the latest news on this.
A final feature of X is its network transparency, meaning that X clients
don't care if they're talking to an X server on the same machine or an X server
somewhere on the network. In practical terms, this means you can run a program
on a more powerful remote machine but display it on your desktop computer.