How to make Xfce look like almost any desktop you want

2 hours ago 11

SOFTWARE

Panel Profiles handles the heavy lifting, once you've installed the plugins it expects

PART 1 Xfce is one of the oldest and smallest desktops, but it's also one of the most malleable: it can look and work like multiple other OSes. Best of all, an optional extra Xfce tool automates away most of the configuration.

Xfce has been around for 30 years, undergoing several facelifts while remaining one of the most configurable and lightweight Linux desktops. It started off looking like CDE, then it evolved into something more like Windows 95 before developing its own identity.

The good news, though, is that you don't have to spend hours right-clicking and twiddling options to give it a whole new look. It has its own tool for this, called Panel Profiles. It's an optional extra that does the same job as Zorin OS's Appearance tool: it lets you flip between predefined desktop layouts in two clicks. It works on the fly, without even requiring you to log out, and you can also define and save your own custom layouts. With Panel Profiles, you can make Xfce resemble various versions of Windows, Xubuntu, Xfce itself, MATE (or GNOME 2, if you're nostalgic), Mac OS X, or Ubuntu Unity.

In Part 1 of this two-part workshop, we'll show you how to install Panel Profiles and the extra components that let it really flex Xfce's muscles. To get the most out of some of the more unconventional layouts, you do need to do a little under-the-hood reconfiguration, and in part 2 we'll cover how to do that: it involves adding a few lines to plain-text files and doing a little manual point-and-click panel tweaking.

Before the Qt advocates start shouting at us, it's true that KDE Plasma can do most of this too. The difference is that, as far as we've been able to find, KDE has no automatic layout-switching tool, while Xfce's Panel Profiles does most of the grunt work for you. In KDE, you'll have to DIY ("Do It Yourself," for non-Brits) and learn to navigate KDE's hundreds of settings in dozens of dialog boxes. With Panel Profiles, Xfce makes it much easier – and as our Ubuntu flavor comparison showed, Xfce does it in less code, using less RAM and less disk space.

In the vain hope of forestalling questions, we thought we'd explain why we want it. This vulture still uses Ubuntu Unity on several laptops. We really liked the Unity desktop in 2011 and we still do. It's space-efficient on a small screen, but also makes effective use of multiple large screens. Having the Dock app launcher and switcher at the side of the screen is space-efficient, and for fullscreen or tiled apps, it should be on the opposite edge from scrollbars: NeXT put the Dock on the right, but then NeXT put scrollbars on the left. Scrollbars are on the right in all modern GUIs, so the Dock-analog should be on the left edge. The other great thing about Unity is that you can navigate it almost entirely with Windows keystrokes. However, Canonical no longer maintains Unity as Ubuntu's default desktop, and it is not widely packaged outside Ubuntu, while Xfce runs on Linux distributions and BSDs alike.

Debian's default Xfce layout, with a Windows-like panel at the top, and a vaguely cosmetically macOS Dock-like panel centered at the bottom

Debian's default Xfce layout, with a Windows-like panel at the top, and a vaguely cosmetically macOS Dock-like panel centered at the bottom Liam Proven

Early this year we tried the Desktop Classic System, a clever Debian remix that uses a customized MATE desktop to provide a spatial desktop: icons and windows remember their locations, stay where they're put, and reappear in the same position when you re-open them. This was one of the most useful but little-appreciated features of classic Mac OS, before it was replaced by Mac OS X (later rebranded just "OS X" and now "macOS" with a small "m").

We liked DCS, but it does have some drawbacks, and for us the big one is that there's no global menu bar. For us, this is also one of the main drawbacks of Elementary OS, which is one of the best-looking desktop distros. Without a menu bar, both have a yawning, empty panel stretching right across the screen with 95 percent of its space wasted. The same is true of GNOME, and although you can fix that with extensions, the result is fragile and it can't do anything about windows conventional title bars, with their standard control buttons, and many of GNOME's other eccentricities.

The spatial desktop of the original MacOS was great and we miss it – but these days, a quarter of a century after its replacement arrived, we like tiled windows more. However, for us, a global menu bar is even more useful. Putting the dock's functionality on a separate panel works too: on a smaller screen, you can set it to auto-hide, and switch apps with Alt+Tab. Yes, we know, KDE can do this too, but getting there requires delving deep into KDE's thousands of config settings. Xfce makes it easy, and it is smaller, simpler, and has a relatively slow release cadence. We find Xfce faster, more responsive, and beautifully clean.

For the demo, we used plain Debian 13, but the same methods work with MX Linux, Xubuntu, and Alpine Linux, and should also work on openSUSE, Fedora, and other distributions that offer Xfce.

When installing Debian, we chose the "desktop" option, cleared the GNOME option, and selected Xfce instead. If you are more used to using sudo than logging in as root for admin tasks, a top tip: when the installation program asks for a password for the root account, just leave it blank. In the next step, when you create a user account, the installer will automatically enable sudo and leave the root account disabled.

To get Debian with Xfce instead of the default GNOME, keep the check on 'Debian desktop environment', but uncheck GNOME and check Xfce instead

To get Debian with Xfce instead of the default GNOME, keep the check on "Debian desktop environment", but uncheck GNOME and check Xfce instead Liam Proven

Step 1 – automating the basics

Want `sudo` rather than a separate `root` account? Just leave the password blank, and the installer configures it all for you.

Want sudo rather than a separate root account? Just leave the password blank, and the installer configures it all for you Liam Proven

To try Xfce's Tleilaxu face-dancing powers, you need Panel Profiles – but most distros don't install it by default. On Debian, it's as simple as sudo apt install -y xfce4-panel-profiles.

On Debian 13, that's it. In the past, we have seen it fail on other distros due to a missing dependency: Panel Profiles also needs the Python psutil module. On Debian-like distros, just run apt install python-psutil.

Once you've got Panel Profiles, you can choose among multiple predefined layouts. We suspect their names were chosen not to infringe on any trademarks, but we find them fairly self-explanatory:

  • Cupertino – named after Apple's hometown, this is a somewhat macOS-like config.

  • GNOME 2 – although these days MATE might be more appropriate: a layout with two full-width panels at top and bottom; the top one has app launcher menus and a system tray, and the bottom has window and virtual-desktop switchers.

  • openSUSE Leap 15.x – a Windows 95-style layout, with some Linux improvements: a single panel at the bottom, the more capable Whisker menu first, then a "show desktop" button and a virtual desktop switcher at the right.

  • Redmond – a very minimal Windows 95 layout, meaning the basic Applications menu with no search, no virtual desktops, no app launchers, and no show-desktop button.

  • Redmond 7 – more like Windows 7: searchable Whisker menu, big icon buttons for windows instead of rectangular buttons with text labels, and a show-desktop button at the end of the panel.

  • Unity – similar to the Unity desktop layout, with a full-height application-launcher panel on the left and a panel with a menu bar and status indicators at the top.

There are several more, including multiple historical versions of both Xfce's own default layouts, and those of several older versions of Xubuntu. For our purposes, though, we're mainly interested in the "Cupertino" and "Unity" profiles. These are quite similar: both have a top panel with an application menu on the left, status icons on the right, and a global menu bar between them, plus a dock-like second panel.

The 'Cupertino' panel profile, with a global menu at the top (as well as in the app window) and a dock-like panel at the bottom.

The "Cupertino" panel profile, with a global menu at the top (as well as in the app window) and a dock-like panel at the bottom Liam Proven

The main differences are that Cupertino centers the dock at the bottom, while Unity has it spanning the whole left edge. Cupertino puts an app launcher at the start of the top panel, while Unity makes it the first entry in the dock. That's about it. Naturally, this being Xfce and configurable, you can move either of these elements if you prefer them somewhere else.

But first, a warning: don't try to choose these profiles yet! To get even basic versions of either profile working, you must install some extra components… and to witness the full power of this fully configurable and operational Unix desktop, you'll need to do a little extra legwork, as we'll get to in Episode Two.

Manually satisfying Panel Profiles' needs

The 'Unity' profile has the global menu at the top, but now the dock is on the left, full-height, and it contains a full-screen app-launcher.

The "Unity" profile has the global menu at the top, but now the dock is on the left, full-height, and it contains a full-screen app-launcher Liam Proven

There is one significant stumbling block: installing Panel Profiles does not install the Xfce components its layouts require. You must install them yourself before trying a given profile. If you don't, the tool will quit, leaving you with no panels at all. This is less than ideal, but if it happens, don't panic: right-click the desktop and you can log out. When you log in again, most of the desktop should work.

For the global menu bar in "Cupertino" and "Unity," you must install a package called xfce4-appmenu-plugin. This uses the Vala panel global menu, and installing the Xfce plugin should automatically pull the relevant dependencies, including vala-panel-appmenu-common, appmenu-registrar, appmenu-gtk3-module, and appmenu-gtk-module-common.

The "Unity" profile also needs another plugin, which moves window-control buttons into the top panel. If it's missing, Panel Profiles complains that it can't find wckbuttons. To avoid that, install xfce4-windowck-plugin.

The Xubuntu profiles require another plugin for indicators; to get them working, install xfce4-indicator-plugin. The Xubuntu profiles also want another plugin, but the error message only tells us that (null) is missing, so we haven't been able to work out exactly what it is. As a workaround, we simply installed all the optional packages starting with xfce4- – it's the crude sledgehammer approach, but doesn't use much space. (We suggest excluding xfce4-dev-tools, unless you want to recompile Xfce for yourself – this metapackage pulls in a large number of compilers and other development tools.)

Once you've installed all the dependencies, all the Panel Profiles layouts should work. The Cupertino layout pins the app menu to the start of the top panel, where it acts a little like the Apple Menu on a Mac. The Unity layout replaces this with the Whisker menu, configured as a full-screen application launcher and placed as the first button on the panel down the left-hand side.

You can hop between layouts on the fly using the Panel Profiles tool. Xfce remembers the last layout selected by each user account and reloads it at the next login. You can explore how they are constructed by examining each panel's controls, then repositioning them or adding your own controls and applications.

However, we're not totally happy with either of them. Further customization can improve the experience, and we'll explain how in Part 2. ®

Read Entire Article