The sad state of Linux desktop diversity: 21 environments, just 2 designs

You look like Windows, and you look like Windows and you look like Windows ...

Analysis As a mainstream desktop OS, Linux is doing better than ever. The Year of Linux on the Desktop came some time ago, and it is ChromeOS (Chromebooks were outselling Macs until recently). But there's a problem – there is almost no diversity of design.

Let's count the number of desktop designs in active development. Not desktop projects, different user interfaces. There's GNOME, Ubuntu's Unity somehow still hanging on in there, and Elementary OS's Pantheon. All have a vaguely macOS-like look: a top panel (woefully underused except by Unity, so mostly wasted space) and a dock, which if you are lucky you can reposition.

So, arguably, that's… one.

Pre-release Ubuntu 22.04 GNOME desktop showing Nautilus and neofetch

Pre-release Ubuntu 22.04 GNOME desktop showing Nautilus and neofetch

GNOME has multiple extensions and forks. Two come from the GNOME Project itself: Classic and Flashback. Both make GNOME 3 look superficially like GNOME 2. MATE is GNOME 2, forked and updated.

There are lots more. In the Gtk family, there's Cinnamon, Xfce, and LXDE. In the Qt world, there's KDE and LXQt, and KDE 4 fork Trinity.

That makes it… two.

Yes, two, because they are all reimplementations of the Windows 95 UI. Taskbar? Check. Start menu? Check. System tray with clock? Check. File manager with a list of locations on the left, and the current one's contents on the right? Check.

All the mainstream distros (Ubuntu and Mint, openSUSE and Gecko Linux, Fedora, Debian) come with largely the same choice of desktops, and they're all the same.

Zorin OS is based on Ubuntu, but heavily customizes GNOME to make it more Windows-like. Interestingly, Zorin OS Lite looks and works much the same – just compare their screenshots – but uses Xfce plus the Dock-like Taskbar plugin.

Deepin (and UbuntuDDE) are pretty, but the option of a floating taskbar doesn't disguise that it's still a Windows-like desktop. Another Sinocentric distro, Ubuntu Kylin, has UKUI, forked from MATE with added bling.

There's also SolusOS's Budgie. There's nothing wrong with Budgie, but it is another variation on the same theme. Taskbar-like panel, tray, hierarchical menus… it doesn't do anything one couldn't achieve with modest customization of Xfce or MATE or LXDE.

A rose by any other name

Other desktops are even more niche: Enlightenment is an option in several distros. The release of Enlightenment 17 took 12 years, and some admirers are reluctant to move on to newer ones – so for instance, one of the only Enlightenment-centric distros, Bodhi Linux, responded to subsequent releases of Enlightenment by forking E17 to make the Moksha Desktop.

The Equinox desktop hasn't had a new release since 2014, but Arch Linux still includes it. Over in the FreeBSD world, there is the Lumina desktop.

And ChromeOS itself has its own shell, called Aura or ash for short. It has a floating taskbar, with app-launch buttons, a start button on the left, and a system tray on the right.

The Linux version of Firefox running on a Chromebook

The Linux version of Firefox running on a Chromebook

That's 21 different desktop environments, with a grand total of two different basic designs. A handful of them can be adapted from one to the other.

But isn't more choice a good thing?

One might ask why there are so many, and there are many answers to that.

Some are written in C++, some in JavaScript, some in Vala, most in plain old C. Some use Gtk, in various versions; a few use Qt; some use both; and a few, such as Enlightenment or EDE, use something entirely different. People have their own preferences in tooling, and that is fine.

I am also not saying that any of these environments are bad. I have my own preferences, but I completely respect that other people have their own. That's fine too.

That is not the purpose of this piece.

What it is asking is: why are they all the same?

So many different implementations of the "traditional" (since 1995) taskbar-and-launch-menu are not different desktops.

Yes, there are differences, but they are trivial and cosmetic. For example, the panel at the top, or the bottom, or both. Text buttons or graphical ones, centered on the panel or on the left. Panel attached to one screen edge, or floating. Or a panel plus a floating dock.

They are just cosmetically different versions of the same desktop.

That, I submit, is a vast waste of the time and effort of thousands of volunteer developers.

What is worse is that, while some of these small differences make some people prefer one environment over another, they have another hidden cost: because of all the effort spread out over so many rival implementations, no one desktop successfully does everything that Windows itself could.

The hidden price of duplicated effort

A very important aspect of this is accessibility. Not only for blind users, but they make a good example. GNOME 2 was reasonably good for people without eyesight, but it's gone, and none of its inheritors come close to matching it.

An excellent and very simple test of accessibility is to use a desktop PC and just unplug the mouse. Windows remains highly usable with only a keyboard. As standard, without enabling any special accessibility aids, windows can be opened, moved, resized, switched and closed, entirely with the keyboard. There are standard keystrokes for moving from one control in a dialog box to the next and back again, and for exiting without changes, and for closing accepting changes. There are hotkeys for opening menus, navigating them, and closing them.

These work inconsistently across Linux desktops. Some only implement a few of the standard keystrokes; some support most of them. Some implement the majority of the functions, but using different keystrokes. Some desktops banish menu bars completely, some retain them everywhere, some have an inconsistent mixture.

Nothing is as consistent as Windows. Apple's macOS, iOS, and iPadOS have a rich sets of controls for blind users and are highly accessible – but they do this with a whole new UI.

The touchscreen devices have an entirely separate UI of gestures, multi-finger taps and swipes for users who can't see the screen. It works very well, but it means that a sighted person can't operate the device at all. The accessibility features and keyboard controls of macOS are not available at all until enabled, whereas in Windows, they are part of the standard UI, there for everyone to use.

A Windows user with their hands on the keyboard can hit Alt-F4 to close a window faster than reaching for the mouse then aiming at a close box. Alt-Space-X maximizes a window in an instant, and the same keystroke works in Unity or in Xfce – but it doesn't in KDE Plasma (or in GNOME). Implementing the way the Windows desktop works for mouse users, but changing most of the keystrokes, actively hinders users who can't use a mouse. The experience for blind Linux users has got markedly worse in the last decade and a half.

Better accessibility helps everyone, not just people with disabilities.

Room for improvement

There is still abundant space for innovation within the existing, conventional desktop model. To pick some small examples: in BeOS, window title bars were tabs, just long enough to hold the title text, and they could be moved along the top of the window, allowing different windows to be stacked yet remain individually accessible. Microsoft tried then abandoned something similar, but if Groupy does it, why can't Linux?

Come to that, there is no particular need for title bars to be at the top. On widescreens, vertical space is precious. I'd like the option to have them on the sides, as they do in wm2 and wmx.

In the olden days, app menus mostly were in one or two places: either at the top of the screen, as in Lisa OS, MacOS, DR GEM, and AmigaOS… or inside windows, as in Microsoft Windows and OS/2. NeXTstep did something different: menus were arranged in vertical columns at the top left of the screen, with submenus opening in adjacent columns. This had a very handy consequence: submenus could be torn off and repositioned elsewhere on the screen, turning them into instant toolbars.

NeXT System's Interface Builder

NeXT System's Interface Builder

Rather than conceal menus, why not rethink them?

When the going gets weird

There is no point in criticizing something unless you're able to offer alternatives.

Graphical desktops go back to the start of the 1980s, and there was a decade and a half of experimentation before Windows 95 and NT 4 started to dominate. That means that there are entirely different models of the graphical desktop out there – and people nostalgic for them. Some have made it across to the open-source world. It's just that most are obscure and little-known. Here are a few that do things differently.

RISC OS dates back to before any of this was taken for granted

RISC OS dates back to before any of this was taken for granted

Acorn's RISC OS was designed before even Windows 3 or OS/2 1.1, which makes it idiosyncratic by modern standards – but highly functional. It's still around and now open source.

It has no menu bars anywhere, just context menus everywhere. Maximize a window in its file manager, and it expands only enough to show all of its contents and no more. The title bar of document windows changes color to show if the contents have changed and should be saved. All title bars have a button that sends the window to the back, behind all the others.

There are at least two implementations of it on Linux. One isn't public yet, but the older is the ROX Desktop. It's small, simple, fast, and light. One peculiarity is that it has its own packaging system, 0install.

The ROX app-packaging system also inspired the more successful AppImage, so a modernization effort could perhaps focus on that instead – or simply remove the functionality completely and leave it up to the OS.

GNUstep is a reimplementation of NeXT's NeXTstep and OpenStep GUI in Objective-C. The NeXTspace project is working at integrating it with a modern distro, but developer Sergeii Stoian lives in Kyiv, so has other things on his mind right now.

Étoilé was an effort to modernize GNUstep and make it more like modern macOS, which would be wonderful to see updated and brought onto a more modern basis – comparable to the Hello System.

The reborn Common Desktop Environment

The reborn Common Desktop Environment

The original cross-Unix desktop, CDE is open source now. It would be an ideal match for a very lightweight Linux. Some of the CDE design made it into OS/2 2's Workplace Shell, which was touted as a killer advantage of OS/2 2 back in its day.

Long ago, the classic FVWM window manager was modified to resemble Windows 95. Nearly three decades later, FVWM3 is in active development. Perhaps it could be a starting point.

Or, for those more comfortable in Go, FyneDesk.

Yes, really, Amiga OS 3 is still around

Yes, really, Amiga OS 3 is still around

Also derived from FVWM is AmiWM, an Amiga-like window manager. Since AmigaOS is enjoying a small revival – last year, there was a new point release after 28 years (!) – maybe the time is right for an AmigaOS-like desktop.

The AmigaOS desktop, Workbench, already has a FOSS relative called Ambient, from MorphOS, as does the all-FOSS AROS in the form of Wanderer. Either could be candidates, or at least inspiration. To try AROS, there's a special version called Icaros specifically built to run on VMware.

Another unusual niche desktop that once inspired a lot of love is the MAXX Desktop, which is distantly descended from SGI's IRIX desktop environment.

Mac OS System 7

Mac OS System 7

Return of the Mac

One of the most widely loved and successful desktops of all time, of course, was the original Apple MacOS. If you never got to try it, version 9.04 runs well on SheepShaver, and it's even possible to run the last-ever version 9.2 in QEMU.

You can even run both System 7 and MacOS 8 directly in your browser.

A reimplementation could start with the basic multiwindow System 6 look, then add aliases and a hierarchical Apple Menu à la System 7, then progress to the full multi-threaded MacOS 8-style Platinum experience, complete with desktop drawers.

Both System 6 (ClassicWM) and MacOS 7-8 (MLVWM) Mac-style window managers already exist, as does a Classic Finder recreation.

In its Atari ST incarnation, Digital Research's GEM had a file manager that was significantly Mac-like. The PC version has long been open source, and reusing some of that code, there's an open-source ST version now too, called EmuTOS.

There is a lot more to life than the tired old Windows model. What GNOME and Pantheon are doing to reinvent it is great, but at the same time both remove a lot of the customizability and flexibility that some of us rely on… as well as features that were not only crucial to users with some disabilities, but also helped everyone.

There are other designs out there. There are more desktops than Windows and macOS, and all offer their own unique benefits. Reimplementing the same old desktop model over and over again doesn't help anyone: it just wastes a huge amount of talent and effort. ®

Other stories you might like

Biting the hand that feeds IT © 1998–2022