Linux Desktop Environments

(For more resources related to this topic, see here.)

A computer desktop is normally composed of windows, icons, directories/folders, a toolbar, and some artwork. A window manager handles what the user sees and the tasks that are performed. A desktop is also sometimes referred to as a graphical user interface (GUI).

There are many different desktops available for Linux systems. Here is an overview of some of the more common ones.


GNOME 2 is a desktop environment and GUI that is developed mainly by Red Hat, Inc. It provides a very powerful and conventional desktop interface. There is a launcher menu for quicker access to applications, and also taskbars (called panels). Note that in most cases these can be located on the screen where the user desires.

The screenshot of GNOME 2 running on Fedora 14 is as follows:

This shows the desktop, a command window, and the Computer folder. The top and bottom "rows" are the panels. From the top, starting on the left, are the Applications, Places, and System menus. I then have a screensaver, the Firefox browser, a terminal, Evolution, and a Notepad. In the middle is the lock-screen app, and on the far right is a notification about updates, the volume control, Wi-Fi strength, battery level, the date/time, and the current user. Note that I have customized several of these, for example, the clock.

Getting ready

If you have a computer running the GNOME 2 desktop, you may follow along in this section. A good way to do this is by running a Live Image, available from many different Linux distributions.

The screenshot showing the Add to Panel window is as follows:

How to do it...

Let's work with this desktop a bit:

  1. Bring this dialog up by right-clicking on an empty location on the task bar.
  2. Let's add something cool. Scroll down until you see Weather Report, click on it and then click on the Add button at the bottom.
  3. On the panel you should now see something like 0 °F. Right-click on it.
  4. This will bring up a dialog, select Preferences.
  5. You are now on the General tab. Feel free to change anything here you want, then select the Location tab, and put in your information.
  6. When done, close the dialog. On my system the correct information was displayed instantly.
  7. Now let's add something else that is even more cool. Open the Add to Panel dialog again and this time add Workspace Switcher.
  8. The default number of workspaces is two, I would suggest adding two more. When done, close the dialog.
  9. You will now see four little boxes on the bottom right of your screen. Clicking on one takes you to that workspace. This is a very handy feature of GNOME 2.

There's more...

I find GNOME 2 very intuitive and easy to use. It is powerful and can be customized extensively. It does have a few drawbacks, however. It tends to be somewhat "heavy" and may not perform well on less powerful machines. It also does not always report errors properly. For example, using Firefox open a local file that does not exist on your system (that is, file:///tmp/LinuxBook.doc). A File Not Found dialog should appear. Now try opening another local file that does exist, but which you do not have permissions for. It does not report an error, and in fact doesn't seem to do anything. Remember this if it happens to you.

KDE desktop

The KDE desktop was designed for desktop PCs and powerful laptops. It allows for extensive customization and is available on many different platforms. The following is a description of some of its features.

Getting ready

If you have a Linux machine running the KDE desktop you can follow along. These screenshots are from KDE running on a Live Media image of Fedora 18.

The desktop icon on the far right allows the user to access Tool Box:

You can add panels, widgets, activities, shortcuts, lock the screen, and add a lot more using this dialog.

The default panel on the bottom begins with a Fedora icon. This icon is called a Kickoff Application Launcher and allows the user to access certain items quickly. These include Favorites, Applications, a Computer folder, a Recently Used folder, and a Leave button.

If you click on the next icon it will bring up the Activity Manager. Here you can create the activities and monitor them. The next icon allows you to select which desktop is currently in the foreground, and the next items are the windows that are currently open. Over to the far right is the Clipboard.

Here is a screenshot of the clipboard menu:

Next is the volume control, device notifier, and networking status.

Here is a screenshot of Interfaces and Connections dialog:

Lastly, there is a button to show the hidden icons and the time.

How to do it...

Let's add a few things to this desktop:

  1. We should add a console. Right-click on an empty space on the desktop. A dialog will come up with several options; select Konsole. You should now have a terminal.
  2. Close that dialog by clicking on some empty space.
  3. Now let's add some more desktops. Right-click on the third icon on the bottom left of the screen. A dialog will appear, click on Add Virtual Desktop. I personally like four of these.
  4. Now let's add something to the panel. Right-click on some empty space on the panel and hover the mouse over Panel Options; click on AddWidgets.
  5. You will be presented with a few widgets. Note that the list can be scrolled to see a whole lot more. For example, scroll over to Web Browser and double-click on it.
  6. The web browser icon will appear on the panel near the time.

There's more...

You can obviously do quite a bit of customization using the KDE desktop. I would suggest trying out all of the various options, to see which ones you like the best.

KDE is actually a large community of open source developers, of which KDE Plasma desktop is a part. This desktop is probably the heaviest of the ones reviewed, but also one of the most powerful. I believe this is a good choice for people who need a very elaborate desktop environment.


xfce is another desktop environment for Linux and UNIX systems. It tends to run very crisply and not use as many system resources. It is very intuitive and user-friendly.

Getting ready

The following is a screenshot of xfce running on the Linux machine I am using to write this article:

If you have a machine running the xfce desktop, you can perform these actions. I recommend a Live Media image from the Fedora web page.

While somewhat similar to GNOME 2, the layout is somewhat different. Starting with the panel on the top (panel 1) is the Applications Menu, following by a LogOut dialog. The currently open windows are next. Clicking on one of these will either bring it up or minimize it depending on its current state. The next item is the Workspaces of which I have four, then the Internet status. To complete the list is the volume and mixer apps and the date and time. The screen contents are mostly self-explanatory; I have three terminal windows open and the File Manager folder.

The smaller panel on the bottom of the screen is called panel 2.

How to do it...

Let's work with the panels a bit:

  1. In order to change panel 2 we must unlock it first. Right-click on the top panel, and go to Panel | PanelPreferences.
  2. Use the arrows to change to panel 2. See the screenshot below:

  3. You can see it is locked. Click on Lock panel to unlock it and then close this dialog.
  4. Now go to panel 2 (on the bottom) and right-click on one of the sides. Click on AddNewItems....
  5. Add the applications you desire.

There's more...

This is by no means an exhaustive list of what xfce can do. The features are modular and can be added as needed. See for more information.


LXDE (Lightweight X11 Desktop Environment) was designed to work well in low resource conditions and is a relatively new environment. Unlike most of the other desktops, the components of LXDE do not have many dependencies and can run independently.

Getting ready

If you have a machine using this desktop you can follow along with this section.

This is a screenshot of LXDE running on a Live Media image of Fedora 18:

As you can see, there are two terminals open and the file manager. Starting on the left of the panel is the familiar-looking Fedora icon, which has just been clicked on. It brings up the pulldown as shown. The next icon is the file manager and then an LXTerminal.

The next icon says "Left click to iconify all windows. Middle click to shade them". I chose to leave this icon as is.

The next are two desktop icons, and then the event list. Farther to the right is a Wi-Fi icon (Wi-Fi not activated), a wired Ethernet status, a system monitor, volume control, and the Network Manager Applet. After that is the clipboard manager, time, a lock-screen icon, and a logout box.

How to do it...

Let's work with this desktop a bit:

  1. Right-click on an empty spot of the panel, a pulldown will be displayed.
  2. Click on Panel Settings. The following screen will pop up:

  3. Let's change the font size. Click on Appearance, and then Size under Font.
  4. Using the scroll keys change the value to something else. The change will appear instantly. When it looks good, select Close.
  5. Let's add an app. Bring up the panel settings again and click on Add / Remove Panel Items.
  6. Click on Add, scroll down and click on Desktop Number / Workspace Name. The name of the workspace you are currently in shows up on the far right of the panel. I personally like this feature a lot.

There's more...

I found LXDE to be very intuitive and fast. I believe it would work well, particularly on laptops and mobile devices, where power is at a premium.


Unity is a shell interface for the GNOME environment used primarily on Ubuntu systems. It was designed to work well on small screens, for example, it employs a vertical application switcher. Unlike the other desktops/managers, it is not itself a collection of executables but uses existing applications.

Getting ready

If you have a machine running the Unity desktop, you can follow along with this section.

The following is a screenshot of Unity running on Ubuntu 12.04:

On the desktop is a GNOME terminal session and the Home folder. Starting with the vertical panel on the left is the Dash Home icon. It allows the user to find things quickly. Under that is the Home folder (already opened) and then the Firefox web browser. The next three are Libre Office Writer, Calculator, and Impress. Next is the Ubuntu Software Center, which is used to search for and purchase applications. The next icons are for Ubuntu One, a Terminal, System Settings, the Workspace Switcher, and the Trash folder.

To complete the discussion of the top panel, on the far right is the icon for Evolution. The next is the Battery status icon, network status (both wired and wireless), and the volume control. The remaining icons are the time, a switch user accounts icon, and the log out button.

Interesting enough, the terminal was not available by default on this guest desktop.

How to do it...

Let's add a terminal to this desktop:

  1. Open the Home folder and then click on File System.
  2. Double-click on the usr folder and then the bin folder.
  3. Click on Search to open that dialog box.
  4. Type in gnome-terminal and press Enter.
  5. Double-click on the gnome-terminal icon.
  6. It will open up on the screen, and you also see it as an icon along the left side panel.
  7. Right-click on this icon and select Lock to Launcher. You now have a terminal icon.

The top panel on Unity works a little differently from the other desktops. Try the given steps:

  1. Open the Home folder.
  2. Open a terminal if you haven't already done so.
  3. Now, click somewhere on the Home folder. The text Home Folder will be shown on the panel.
  4. Now click on the Terminal. The text Terminal now appears. The menu items listed on the panel always correspond to the window or app that has the focus.

There's more...

I found Unity to be very different from the other desktops. At first it was a bit difficult, but like everything else it gets better with time. I believe this desktop would be popular with users who do not have much experience with Linux/UNIX systems.


The Mate desktop was created to give users a more productive environment similar to GNOME 2. I am currently running Fedora 19 on my laptop using Mate and it is running fine. Note that I downloaded the F19 installation DVD and chose Mate during the install process.

Getting started

You can use a Live Image or a full install DVD from the Fedora site to follow along with these steps, whichever you prefer.

The following is a screenshot of Mate on Fedora 19:

You can see I already have two terminals open. On the top left is the Applications pulldown, which allows you to browse and run installed applications. The next one is Places, which allows you to access documents, folders, and network places. Next is System, where you can change the desktop appearance and behavior, get help, or log out. The icons are Caja, a file manager, and then a terminal. Yes, the Mate people were smart enough to include one by default. The next icons are Firefox, a mail app, and a messenger app. I added the lock-screen icon, which is in the middle. On the right is the volume, then the Wi-Fi bars, the battery status, and the date (which I customized a bit).

On the bottom left is an icon that allows you to hide all windows and show the desktop. And finally, on the far right are four workspaces.

How to do it...

Let's change a few things on this desktop:

  1. First let's add the Lock Screen app. Right-click in the middle of the top panel.
  2. Click on Add to Panel....
  3. Click on Lock Screen and follow the instructions. Close the dialog.
  4. Now let's work with the time and date. Left-click on it and you will notice a calendar is displayed.
  5. Left-click on the time and date again to close the calendar and then right-click on it. Click on the Preferences tab.
  6. The Clock Preferences window should be displayed. Here you can change how the time and date are shown. I clicked on Show seconds because I like seeing the full time.
  7. Close the dialog.

There's more...

As you can see, Mate works very much like GNOME 2. It is very intuitive and easy to use. The designers did a fine job creating this desktop.


This article explains desktop environments such as GNOME 2, KDE desktop, xfce, LXDE, Unity, and Mate available for Linux in the form of recipes.

Resources for Article:

Further resources on this subject:

You've been reading an excerpt of:

Linux Utilities Cookbook

Explore Title