All About Xfce
Get to know all about the lightweight desktop environment for Unix-like operating systems.
A screenshot the Xfce Desktop by the Xfce Development Team. Image licensed under CC BY 4.0.
Linux provides you greater control over your system. But how about your desktop?
There’s Xfce, a FOSS desktop environment for Unix-like operating systems. It’s fast, deliberately conservative, and shamelessly utilitarian at best. The seemingly old relic stands out from the field of Linux desktops by successfully managing resource usage with a traditional, user-centric interface, which makes it an excellent choice for your daily computing needs.
Though it may not be for the faint of heart.
Xfce Philosophy and Design Principles
The rat desktop emerged from 1996 as the Linux counterpart of Common Desktop Environment. Thus, it looked like such and follows the similar metaphors that it has already maintained. Some of these are the panel, applets, workspaces, and the already persisting windowing system.
It preceded both GNOME and KDE, thus leaving arguably nothing else to copy from. Of course, later on, the project was rewritten in GTK. At the time, KDE and GNOME were moving on to the second major release. Both, which garnered quite the following, then pursued to address usability issues in the traditional desktops of the time in the aim to make it mainstream. Whereas Xfce, being Xfce that it is, seemed to have stayed comfortably close to its UNIX roots.
People often perceive this as a a stark difference with the aforementioned two. GNOME slowly left the traditional desktop metaphor and focused on delivering a tightly coupled complete experience. KDE, now with Plasma, provides you more than you’d ever see from most desktops. They have their own merits, nonetheless. Xfce, on the other hand, maintained a relatively minimal, modular base component set. With that, you have components that are good at doing one thing that they’re supposed to be good at.
Fundamental Architecture and Modularity
It is built with a basic set of modules such as a window manager, desktop manager, panel, session manager, application finder, file manager, and settings manager. These are such that are tightly coupled together to deliver the barebones experience. However, even these can be replaced by the user when needed. Say, replace xfwm4 with Openbox, i3, or KWin. Xfce also provides numerous additional applications and plugins so you can extend your desktop the way you like, for example a terminal emulator, text editor, sound mixer, application finder, image viewer, iCal based calendar and a CD and DVD burning application.
These additional applications however, are usually only present on distributions which offer a minimal desktop experience. These may be pretty elementary, though they make much as to make the experience whole. At best, you’re safe and fine to replace them with something else you prefer. Say, if you like alacritty better, you can simply remove xfce4-terminal. If you want a more advanced photo manager, you replace ristretto with pix. Such nicety allows you to further shape the desktop to fit your needs.
Project Stability and Maturity
I believe we’re already way past the point to deem Xfce as stable and mature, because it sure is. It is one of the oldest, still maintained, and still widely used desktop environments in the Linux landscape. Since 1997, the development pace is moving forward slowly yet surely. And it bears its fruits. There’s hardly any disruptive changes to go around your desktop over time, other than you, the user, of course.
This again is often a point of comparison between Xfce, GNOME, and KDE. For the better or for the worse. GNOME has disrupted its users hard time during transition to GNOME 3, and arguably done so in a lesser extent during transition to GNOME 4x. In KDE, they have since then burst through fast after KDE 3, though much less disruptive as GNOME. Whereas in Xfce’s case, the user interface has barely changed since 4.0. And that was from 2003.
The Lightweight Desktop
Xfce relies primarily on the core GTK toolkit and a relatively small set of essential libraries. It avoids pulling in extensive frameworks or large suites of background services that aren’t strictly necessary for the core desktop experience. This means less code needs to be loaded into memory and fewer libraries need to be present on the system for the basic desktop to function. Furthermore, its core applications (like Thunar file manager, xfce4-terminal, Mousepad text editor) are intentionally designed to be fast and simple. They often have fewer features than their counterparts in heavier DEs, because they’re good at doing one thing that they’re supposed to be good at. No flairs.
A notable thing too, Xfce’s window manager, xfwm4 includes a compositor. However, it’s capabilities are relatively lean compared to compositors used in other desktops like on Kwin, Mutter, Metacity, and so on. This may also be disabled further, if necessary. Therefore, it requires much less processing power from the CPU and GPU. While xfwm4 can do shadows and basic transparency, it doesn’t tax the graphics hardware or CPU as much as more feature-rich compositors performing complex visual transitions and effects constantly.
And by default, Xfce starts up with a minimal set of background processes (daemons). It doesn’t typically include extensive indexing services, search daemons, or complex inter-process communication hubs running constantly in the background unless the user explicitly adds components that require them. Do note that this may also depend on the distribution configuration.
As such, it may be preferred for remote sessions, minimal environments, and specialized environments such as on Termux, despite arguably occasionally useful in such settings.
Wayland Status
As of 4.19.
It is not clear yet which Xfce release will target a complete Xfce Wayland transition (or if such a transition will happen at all)…
The Xfce development team currently prefers wlroots over libmutter. They prevent further dependency to GNOME components. X11 compatibility will be kept.
Component Status
- All core Xfce components already support Wayland, except
xfwm4. - Alternatively, there is an unofficial Wayland port for
xfwm4. - Some quirks are to be addressed by the development team.
Applications Status
- Most Xfce apps work on Wayland as of the moment, with minor quirks.
Panel Plugins
- Most and the essential panel plugins already work on Wayland.
- They may require a bit more effort and modification to work properly.
Learn more in their Wayland Roadmap.
