The Xfce desktop — Small, fast, and easy on resources

The Thing with the Mouse

The Xfce desktop travels light but still comes with all the essential features.

If you're looking for many features and a vast collection of desktop applications, it is hard to beat KDE or Gnome. However, many users would rather do without all the bloat. Some Linux users simply favor simplicity and clarity. Others want a leaner desktop, so they can operate on leaner hardware. Many of these "simplicity first" users are turning to an alternative desktop system known as Xfce [1].

Xfce originally stood for "XForms Common Environment," because the interface was based on the XForms Library, which is virtually unknown and hardly used today. The XForms Library generates graphical user interfaces for the X Window System. Because Xfce is not exactly easy to say, the environment is often called "X-Face."

Like other desktop systems, Xfce is actually a collection of services, settings, and tools that provide the user with an intuitive graphic interface. The Xfce developers break the system into five core components (Table 1). Xfce packages are available for most major Linux distributions. As with any Linux desktop, you can easily install Xfce to run on your current Linux system; however, if you feel like exploring, you can also find prebuilt Linux distros designed to boot to Xfce as the default desktop. For example, the Fedora Xfce Spin is the second most popular option in Fedora's spin library [2], and Ubuntu's Xfce distro Xubuntu also has a loyal community of users.

Table 1

Xfce Core Components

Module

Program

Function

Application finder

xfce4-appfinder

Manages installed programs

File manager

Thunar

Manages files

Session management

xfce4-session

Starts, restores and terminates sessions

System settings

xfce4-settings

Settings dialog for all system aspects

Configuration service

xfconf

D-Bus-based configuration system

A Closer Look

Like all popular desktop environments, Xfce installs best from your distribution's own repositories. On Ubuntu, you can either retrieve the classic variant from the standard repositories or directly use the Xfce-based Xubuntu variant. Experienced users can compile the individual components themselves. See the Xfce website for more information.

Like the famous Gnome desktop, Xfce is built from the Gtk+ toolkit [3]. Customers benefit from the features and structures that Xfce inherits from Gtk+ and Gnome, including windows and buttons, as well as internal structures for programming interfaces.

The desktop environments currently available on Linux are almost identical in many areas, because of the set of standards defined by Freedesktop.org, and they often differ only in detail. Despite this, the developers might pursue quite different goals: For example, KDE strives to make many aspects of the desktop user-configurable and thus overwhelms some users. Gnome takes the opposite approach: The desktop preconfigures many settings, leaving other changes that involve major overhead – which has led to hefty cursing by users such as Linus Torvalds in the past [4].

Xfce is much closer to Gnome in its desire for simplicity but without Gnome's excessive usability dogmas. In fact, most applications and actions on Xfce feel very similar to Gnome 2. Many users turned to Xfce for its Gnome 2-like qualities after the switch to Gnome 3 (or to Unity, in the case of Ubuntu).

Because Xfce meets the Freedesktop.org standards, you won't have any problems using programs from third-party desktop environments such as Gnome or KDE. For example, drag and drop between Xfce's Thunar file manager and the KDE digiKam application works fine. When you transfer files to a KDE application, a menu (Figure 1) appears. If you transfer files in a native Gtk+ application, within a single filesystem, the files are moved; between different media, they are copied.

Figure 1: When you drag and drop between applications from different desktop environments, the rules of the target application apply.

Buttons in the Xfce file manager let you manually define the precise behavior: If you press and hold Ctrl while dragging, the files are copied; pressing Shift, in contrast, moves the selected files.

Interface

Xfce was originally developed as a panel for the old Fvwm window manager, and the Xfce panel (Figure 2) plays a special role in the user environment. For example, today's panel contains executable applications (called starters), small embedded programs (plugins/applets), and "active areas" for notifications.

Figure 2: Two typical Xfce panels: Right-clicking on the panel takes you to the configuration menu.

Xfce lets you use any number of panels (Figure 3), which you can then populate with tools. You can deploy panels horizontally, vertically, permanently displayed, or hidden after a short time. As with other desktops, panels can configure Xfce panels on the fly. Packages such as xfce4-xfapplet-plugin(-*) let you use third-party applets in the panel – from Gnome, Mate, WindowMaker, or other window and desktop systems.

Figure 3: Using the context menu, you configure the bars (left) and add new elements (applets).

The Start menu in the panel gives you access to the installed applications. Beyond the standard menu, the "Whisker Menu" is extremely popular because it provides additional features (Figure 4). You can use the Menu Editor to configure the Whisker Menu to suit your own needs. An applet in the panel lets you minimize all the active windows for unhindered access to the desktop.

Figure 4: In addition to grouping applications, Whisker Menu comes with a search function and provides access to important standard functions at the bottom, such as changing the user, the settings, and so on.

The Xfce desktop holds very few surprises. As usual, you can drop files on it, rename files, or open files with the default or manually selected programs. Within the filesystem, the Desktop folder represents the desktop in your home directory. You can configure the desktop either via its context menu (right mouse button) or in Settings using the Desktop tool (Figure 5).

Figure 5: The wallpaper and many details are configured in the Desktop settings.

Xfce also offers an application finder, which is launched by pressing the keyboard shortcut Alt+F2. This finder displays a small command-line prompt (Figure 6), which supports automatic completion for the program name you enter.

Figure 6: The Application Finder also contains a menu that opens after clicking on the down arrow (on the right).

File Manager

The Xfce file manager goes by the name of Thunar – named after the god of thunder, who is known more frequently as "Thor," which also explains the hammer icon. Thunar focuses on the most essential functions and thus remains quick and compact (Figure 7). By default, Thunar uses icon mode; pressing Ctrl+2 enables a list view, and pressing Ctrl+3 shows a compact list.

Figure 7: The Xfce Thunar file manager highlights symbolic links separately, as you can see here from the Work folder. There is a relatively simple dialog for the configuration.

As usual with file managers, Thunar can be extended using various plugins, for example, for managing archives, managing multimedia files, or accessing Dropbox. The context menu in the file manager extends to accommodate these items (Figure 8). You can download new plugins, for example, from the Thunar project website [5].

Figure 8: The Thunar context menu can be expanded by installing Thunar plugins to add actions for many file types.

Thunar also lets you define your own actions and special file types [6]. You will find further information in the Thunar documentation [7]. A number of examples of custom actions are also provided by the Ubuntu Users wiki [8].

How the file manager handles the different file types is defined by the rules in the MIME Type Editor (Figure 9). You can predefine programs for the various file types that the file manager uses when you open files. You have a free hand in the choice of programs – the application's native desktop environment does not matter.