Open Source

Linux 101: Sorting out the GUI puzzle

Jack Wallen says there's no need to be confused by the three GUI layers in Linux. Just like with an impressionist painting, if you step back a bit and relax, it gets clearer.

One of the most confusing aspects of Linux is understanding the workings of the GUI. With the Windows platform, it's as if you have one piece of equipment that is permanent and immovable. Linux, however, allows the user to treat the desktop as if it were a three-dimensional jigsaw puzzle. This puzzle is composed of three layers, each containing its own pieces, which have completely separate counterparts that fit snugly into others.
Linux 101 installments are intended to bring IT professionals unacquainted with Linux up to speed quickly on the alternative operating system's more basic features and uses.
Layer #1
The first layer of the Linux GUI is the X server. In most cases, the X server is known as X Window s. From the X main page:

X Windows System servers run on computers with bitmap displays. The server distributes user input to, and accepts output requests from, various client programs through a variety of different interprocess communication channels. Although the most common case is for the client programs to be running on the same machine as the server, clients can be run transparently from other machines (including machines with different architectures and operating systems) as well.

Basically, X Windows is in charge of serving up the resources for graphical display. Easy enough.

Layer #2
The next layer is the desktop environment. The Linux desktop environment is currently dominated by two camps: GNOME and KDE. The desktop environment is primarily a set of applications, tools, and environments that allows the user to interact graphically with the computer system—thus keeping the user from what is considered to be the “arcane command line.” The desktop environment allows such handy functionality as drag-and-drop, rubber-band selection, point-and-click, and the clickable icon.

Both the dominant desktop environments offer highly configurable arenas for computing, and both are powerful and logically designed.

Layer #3
The third layer is the Window manager. The Window manager is a crucial aspect to user personalization. There are over 10 popular Window managers, including AfterStep, Enlightenment, KWM, Windowmaker, iceWM, fvwm2, blackbox, and sawmill. Many of these Window managers are menu/icon driven and offer such enormous flexibility and customization that the “look and feel” of a computer desktop is limited only to users’ imaginations.

This puzzle, albeit highly interchangeable, does rely on the presence of certain elements. Primarily, both Window managers and desktop environments rely on the X Windows System, which itself relies on the presence of the Linux/UNIX kernel.

Apart from that dependency, everything takes a left turn. For example:
  • KDE does not play well with Window managers other than KWM.
  • GNOME plays well with most Window managers, except KWM.
  • Most Window managers work fine without the presence of either KDE or GNOME.

Ultimately, the complexion of your jigsaw depends upon the components you select. Check out the different Window manager and desktop environment Web sites for compatibility and deployment information.
To learn more about the above, check out the —to learn about —to learn about —to learn about X —to learn about —to learn about Enlightenment

Jack Wallen, Jr., is pleased to have joined the TechRepublic staff as editor-in-chief of Linux content. Prior to his headfirst dive into the computer industry, he was a professional actor with film, TV, and Broadway credits. Now Jack is content with his new position of Linux Evangelist.

If you'd like to share your opinion, please post a comment below.


Jack Wallen is an award-winning writer for TechRepublic and He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website

Editor's Picks

Free Newsletters, In your Inbox