A review of Linux desktop environments

June 17, 2016 by Noah

The next version of Fedora (24) is coming out soon, so I decided a couple weeks ago that I'd take a tour of all the different desktop environments and see if I like any of them enough to switch from Xfce. My original desktop environment of choice was GNOME 2, and I had jumped ship to Xfce after GNOME 3 was released because I was no fan of the tablet-focused, feature-stripped interface of the new desktop and GNOME 2.32 was, in my opinion, the pinnacle of the desktop metaphor for Linux.

At the time I switched, Xfce was on version 4.8 and was a little bit clunky and somewhat of a step back from what GNOME 2 had to offer; however, I somewhat liked the Xfce panel better than the gnome-panel when it came to customization. In the GNOME 2 panel, you could drag and drop applets wherever you want them, but they'd sometimes "move around" if the panel or other applets changed size (for example, by increasing your screen resolution or by the Notification Area showing fewer tray icons than it did when you put your panel together). In Xfce, the placement of each applet was an explicit configuration, i.e. you'd need to insert a Spacer Applet set to expand to fill as much space as possible if you wanted left-aligned and right-aligned applets on the same panel.

I loved the GNOME 2 two-panel layout, so I always configured my Xfce desktops to match:

Xfce two-panel layout

This blog post won't be very screenshot heavy, but I link to the websites for all the desktop environments if you haven't seen what they look like, so you can check them out.

Here's how my desktop environment tour went.


I was never particularly a fan of the K Desktop Environment, despite it technically being my first desktop environment (when I was first getting into Linux, I used some sort of "Which Linux distro is for me?" quiz which recommended I go with Kubuntu, a spin of Ubuntu that ships with KDE). But that was back in the KDE 3 days, and I had long since stopped using KDE when the KDE 4 drama unfolded (a lot of people ranted about KDE 4 about as much as they rant about GNOME 3). KDE is now on version 5 and I hadn't given it a deep dive in years so this was the first one I checked out; KDE and GNOME have always been the "big two" desktop environments for Linux.

It's not an awful desktop environment, but it has the problem of "way too many configuration options" and configuring things is a complicated, unintuitive mess. The GNOME 3 developers have been leaning towards "take away as many customization options as possible," which is the opposite extreme of this spectrum, and that isn't any good either. The KDE settings GUI just gives you way too many options to mess around with and potentially break your desktop with. I mostly ignored all of those and wanted to configure my panels how I like them (two-panel style).

I added a second panel to the top of my screen and started moving widgets around. For the life of me I couldn't figure out how to have left-aligned and right-aligned applets on the same panel. There was a "spacer" applet, but it couldn't expand like the one in Xfce does. The only way I could find was to use the Window List applet, which seems to automatically push the left away from the right, but I don't want a window list on my top panel. Dragging applets to reposition them was clunky too and wouldn't always do what I wanted.

As for the desktop itself, KDE has a bunch of random widgets (like an analog clock or comic strip) like Windows Vista had. I could easily live without such widgets, since no other desktop environments have them, but I played around with them since they were there. It seemed that once I dragged a widget to a spot on my desktop, I couldn't figure out any way to reposition it. So if I dropped an analog clock in the wrong spot, the only way I could find to fix it was to delete it and drop a new one. I tried right-clicking all over it, managed to open its settings window (which was just settings for the widget itself, not where it's positioned), but couldn't move it.

There's probably stuff buried in the documentation for both of these problems, but I shouldn't have to go hunting for that stuff. If right-clicking all over the place and trying all the other usual things doesn't work, that's just bad design IMHO.

As a smaller bit of annoyance I find it weird that Konsole (KDE's terminal emulator) defaults to remembering the dimensions of the last window you had open, instead of always defaulting to a standard 80x24 character dimension like most other emulators I've seen do (GNOME Terminal, XFCE Terminal, xterm, iTerm2 on Mac, even Command Prompt on Windows). The option to make KDE always use the default size is buried somewhere and it seems to move around from version to version so it took a bit of Googling before I found where they hid it this time.


I also installed and poked around at LXDE and LXQt. These two desktops are quite similar; the first one prefers the GTK+ toolkit and the latter uses Qt. The Raspberry Pi's default distribution, Raspbian uses LXDE by default.

I didn't get too far into playing with these. They're both extraordinarily minimalistic desktop environments and are a huge step backwards in the desktop metaphor, moreso than Xfce is. They had the feeling of "this must've been what the very first desktop environments were like"; barely functional and with no bells and whistles.


Finally, I landed on the MATE Desktop Environment. MATE began its existence as a fork of GNOME 2, for the people who loved that desktop and didn't want to switch to GNOME 3. At first I thought that this project might not have gone anywhere, and that it was mostly just people delaying the inevitable, but MATE sees active development and they're almost finished updating all their components to use GTK+ 3 to catch up with GNOME 3 and Cinnamon.

The default layout in MATE is extremely similar to my preferred layout in Xfce (which makes sense because I always make Xfce look like GNOME 2), so there's a lot less steps for me to customize my desktop after a fresh install. It has a bunch of other nice bells and whistles too that came from years and years of polish when it was called GNOME.

I figured this is the one I would stay on and go with the MATE spin of Fedora 24, but then all its weird quirks and little papercuts started to get to me. Xfce has its quirks too, but I know how to work around them (mostly comes down to text colors in the panel not fitting my theme, so I keep a .gtkrc-2.0 config for adjusting the panel colors as needed). But some of MATE's quirks can't be worked around, such as its weird window manager behavior.

MATE's window manager was forked from Metacity. When I originally switched to Xfce, xfwm4 was pretty on par with Metacity, but then Xfce got updates to add new features to it such as window snapping behaviors like in Windows 7: drag a window to the top of the screen and it maximizes the window. MATE's window manager has no such features.

But even before xfwm4 had those features, it still had one where you could drag a maximized window from one monitor to the top of the second and it would re-maximize itself on the new monitor. MATE's doesn't do that, either.

MATE has focus stealing prevention, where a new window doesn't automatically steal your focus, but it's overly zealous; it won't even let a window steal the focus when that's explicitly what you wanted. For example if I get a message on Google Hangouts, and I click on the pop-up notification, I want the Hangouts window to come up, but it doesn't in MATE, making the notification pop-up next to useless. Xfce on the other hand allows every window to steal the focus, which can be annoying sometimes (i.e. when installing VirtualBox extension packs, the sudo password window gets its focus stolen by the VirtualBox "Installing..." window), but more often than not it works okay.

Then it had weird theming quirks. On Xfce I tend to bounce between Bluebird and Ambiance (Ubuntu's default black/orange theme). Bluebird works okay under MATE, but Ambiance had a tendency to make the "Applications/Places/System" applet have a black background despite nothing else on the panel being affected. Google Chrome also had a weird issue where the window would turn purple, despite not having any purple element in my GTK theme at all.

The last straw was when I wanted to use Chrome this morning and I only turned on one of my monitors (because the other one takes 30 seconds to turn on). Chrome opened in the off-monitor, and in Xfce I'd be able to right-click it on the task bar, click "Move" and move it to my on-monitor. Under MATE, this worked but the window took up the whole screen (not maximized, covering my panels), and when I'd maximize the window it would pop back to the off-screen. I also couldn't simply resize the window; clicking and dragging its edges did nothing. So I tried right-clicking Chrome and telling it to "use system title bar and borders" thinking I'd have better luck resizing it then. This made it snap back to the off-screen, only now, the "Move" option was greyed out when I right-clicked its task bar entry. I had to turn on the other monitor, wait 30 seconds for its "Energy Star" logo to come on, and go from there. Ugh.

So I'm back to Xfce

When Fedora 24 is released I'll be installing the Xfce spin as usual. I thought I'd like MATE, but I guess I had been away from GNOME 2 for so long that I forgot how quirky it actually was, and Xfce has actually become a more usable desktop environment in my opinion, despite its relatively slow development cycle (a major release only ever comes every couple of years).

Aside: Cinnamon

I didn't actually play with Cinnamon this time around, but I had tried to run Cinnamon on a Macbook Pro earlier this year, still under Fedora 23. It was okay for the most part, but configuring its panels was a pain in the ass similarly to KDE; the panel goes into "edit mode", and it color-codes various segments of it (left, middle, right) where you can drag applets, but I found myself struggling with it for way longer than I should have to get a panel layout that resembled GNOME 2's default layout.



There are 0 comments on this page. Add yours.

Add a Comment

Used for your Gravatar and optional thread subscription. Privacy policy.
You may format your message using GitHub Flavored Markdown syntax.