A summary of where were are and where we might be going next.
Culled from a couple of very lengthy CIX
A "desktop" means a whole rich GUI with an actual desktop -- a background you can put things on, which can hold folders and icons. It also includes an app launcher, a file manager, generally a wastebin or something, accessory apps such as a text editor, calculator, archive manager, etc. It can mount media and show their contents. It can unmount them again. It can burn rewritable media such as CDs and DVDs.
The whole schmole.
Some people don't want this and use something more basic, such as a plain window manager. No file manager, or they use the command line, or they pick their own, along with their own text editor etc., which are not integrated into a single GUI.
This is still a GUI, still a graphical UI, but may include little or nothing more than window management. Many Unix users want a bunch of terminals and nothing else.
A desktop is an integrated suite, with all the extras, like you get with Windows or a Mac, or back in the day with OS/2 or something.
The Unix GUI stack is as follows:
 kernel etc. The bottom layer.
 a display server. This draws windows & allows multiple programs to share the screen.
X.11 is by far the most common. The de facto
FOSS implementation is called X.org and was forked from XFree86. Some elements are also used in *BSD.
The GNOME project has a new one, called Wayland. This has just shipped in Fedora 25, the first desktop distro to use it.
Ubuntu had its own, called Mir. This is now dead.
Android has its own, SurfaceFlinger, as does Mac OS X (part of Quartz.)
 a window manager. This draws windows and lets you move them around.
For some users this is enough. In the early days it's all Linux had, e.g. twm and FVWM
(allegedly, the Feeble Virtual Window Manager).
Red Hat offered FVWM95
. FVWM plus a taskbar and start menu, making it look superficially like Win95 (thus the name). Nothing else. Very crude but a small step forwards.
 a desktop.
This draws a desktop which can hold icons and folders. It manages removable media, mounting, unmounting, burning etc. It manages background tasks, e.g. network connections. It includes a ton of accessories such as file managers, text editors, image viewers, archive managers, email clients, chat clients, etc.
Some people don't want all that and just use a bare window manager and some virtual terminals. That's a valid choice. I, like most users, prefer something a bit richer and friendlier. I didn't start using Linux on the desktop until KDE 1
There were desktops before KDE -- proprietary ones, like OpenLook
(Sun), Irix Magic
(the Open Group), etc. They were primitive but sort of worked. There were some attempts to do commercial ones for Linux in the early days (e.g. IXI x.desktop
) but they were niche.
KDE was the start of FOSS desktop environments.
Now there are lots. Many simple window managers also survive as standalone projects.
There have been a number of somewhat Mac-like desktops, but back in the early days, Apple was very litigious. Now, not quite so much. Nobody's directly trying to be Mac-like any more. My impression is that Unity is, but more or less by accident.
Almost everyone copies Windows. The only big exception is GNOME 3. It does its own weird thing. Some like it. I don't
But great changes are afoot. Ubuntu is abandoning its in-house Unity desktop, both the mature desktop version (Unity 7) and the still-in-development phone/tablet version (Unity 8), along with its display server Mir. As of next year, Ubuntu will switch to GNOME 3, the distant descendant of the GNOME 2 desktop it shipped with for its first seven years.
Very big deal for Ubuntu, and for the GNOME Project.
But big in the history of Linux desktops? Not so much.
Unix has had GUIs for 3+ decades. Most were very rudimentary, proprietary, and a bit crap. Some still like them anyway.
For its first decade, Linux only had simple window managers, such as Window Maker
. They give you multiple terminals with shells in -- or graphical apps. Nothing else.
Red Hat included FVWM95 which included a taskbar and a start menu, but nothing more.
The first FOSS desktop for Linux was KDE (July 1998).
KDE used the Qt programming toolkit (proprietary), worked like Win95, and favoured C++ programmers.
The GNU Project didn't like this, partly because it favoured C and partly because KDE wasn't all-FOSS.
So, GNU created GNOME. GNOME was more open, based on C and the CORBA object system, and used the Gtk toolkit created for the GIMP. As GNU is primarily American, so is GNOME. The big American distro is Red Hat, so most of the GNOME programmers worked for Red Hat. Red Hat Linux only offered GNOME by default. At first, nobody else did.
KDE 1 was pretty good, if plain. It was a German project, so most of the programmers worked for SUSE, the German distro maker.
GNOME 1 was released in March 1999. It was a bit of a clunky mess. Nobody took it seriously except RH.
At this time, KDE was the serious, capable desktop which everyone offered. Some vendors, e.g. SUSE and Mandriva, centered on KDE and offered customisations and enhancements.
The first Linux with graphical screen-mode setting and other niceties, Corel Linux OS
, offered only a heavily-customised KDE to make it look like Win XP.
At this time, there was a joke that KDE was made with German efficiency, with a sensible if boring design team, timed releases, and a businesslike attitude. GNOME was a bunch of crazed teen hackers who occasionally screamed and threw something at the wall. If it stuck, they called it a release.
KDE 2 (March 2000) added a lot more customisability. Also, by now, KDE's in-house web browser (and file manager and much else), Konqueror, was the leading pure-FOSS web renderer. KDE 2 was getting pretty complex with a lot of tweakable options.
Because of pressure from Microsoft, Corel killed all its Linux projects. Corel Linux OS was spun off as Xandros
, with a heavily customised KDE 2 -- IMHO by far the best Linux desktop of its time.
Trolltech, the vendors of Qt, the proprietary toolkit used to build KDE, released it under dual licences -- prorietary/commercial and FOSS. So now KDE was arguably all-FOSS.
KDE now was the Linux desktop of choice.
GNOME 2 followed in June 2002. It was actually pretty good. Not as customisable as KDE, but good enough. It started to catch on. Soon all major distros offered it at least as an option, alongside KDE and some minor ones.
Ubuntu launched in 2004, defaulting to GNOME 2. Indeed Ubuntu releases were synched with GNOME releases, so Ubuntu always included the latest.
Within a few years, Ubuntu had a stable release, a graphical installer, graphical partitioning etc. and basically reached parity with the best commercial Linux distros.
By now (2006ish) GNOME 2 was the leading desktop. Everyone offered it. Some (Mandriva, SUSE) still offered KDE but the desktop wars were over and GNOME 2 won.
So, Microsoft stuck its oar in and threatened lawsuits everywhere to everyone with Windows-like desktops
(N.B. this is my personal interpretation. Many disagree but nobody has ever managed to refute it.)
The resulting explosion took some years. It's still not over.
SUSE promptly signed a non-aggression pact with MS. Thus, KDE is safe and stayed Windows-like. Mandriva ditto.
Red Hat and Ubuntu refused to sign.
The GNOME project promptly announced GNOME 3, a major new release, including a new release of GTK, Gtk 3. GNOME 3 looks radically different and cannot readily be customised to even resemble Windows. It draws inspiration from the Maemo phone Linux, with some Nokia input, and other systems. It is nothing like anything else.
RH & GNOME maintain to this day that this is a total coincidence.
Ubuntu shortly afterwards also announced a new desktop: Unity.
This strongly resembles Mac OS X's desktop, IMHO because Ubuntu didn't want to get sued by MS. Unity span off from Ubuntu's netbook launcher. It uses GNOME accessories, runs on X.11 and is keyboard/mouse driven. It requires hardware OpenGL and if this is not available it emulates it in software using LLVM, which means it's slow in VMs or on machines with very low-end display hardware.
(GNOME 3 also requires hardware OpenGL and fakes it if not available, killing perfomance.)
Early on, there was a separate version, Unity-2D, written in Qt instead of Gtk, for device without hardware OpenGL.
Once the software OpenGL rendering worked well enough, after a few releases, Unity-2D was killed.
However, the long-term plan was that Unity would also run on phones and tablets. This finally appeared after the desktop version of Unity reached v7.
So, the phone/tablet version is called Unity 8, running on a specialised version of Ubuntu containing some Android technology, called Ubuntu Touch.
Unity 8 is also written in Qt.
This has just been abandoned, but the FOSS community is continuing development.
So, GNOME 3 and Unity both were announced, by TOTAL coincidence, after MS' legal threats in 2006 or so.
Both shipped in 2011. Both were pretty unpopular.
This did KDE some good. Still copying Windows somewhat, KDE 4 switched to system based around desktop gadgets -- like those in Win 7, formerly in a sidebar on Vista. This was not universally popular. It takes several mouse clicks -- and expert knowledge how -- to simply turn KDE 4's desktop back into a flat folder with icons, for instance.
Also, Apple took the KDE web rendering engine, KHTML, forked it to create WebKit and used WebKit as the basis of Apple's own browser, Safari. Chrome was based on WebKit too, as is Opera from v13 on. (Chrome has now forked WebKit to create Blink.)
KDE 4 thus had a new file manager, Dolphin. Also, Firefox is way more popular as a FOSS browser so Konqueror is not front and centre any more.
So KDE 4 is quite different to KDE 3. This led to KDE 3 being forked to create the Trinity desktop
. This is now largely moribund, but it's still around.
The decline of GNOME 2, once it was in maintenance mode and its successors were clearly the future, meant that several less-popular desktops have risen in prominence.XFCE
started out as a clone of CDE built on the XForms toolkit. However, there is also a direct clone of CDE, and now CDE itself is FOSS. So XFCE has gone in a different direction, switching to Gtk 2 and becoming more Windows-like. It's very flexible and can look like GNOME 2 and Windows 9x, but it also has a dock -- although it is not a Mac work-alike and the resemblance is a superficial cosmetic one.
It's slow-moving, stable, not very innovative, but that's by design.
XFCE has been based on Gtk 2 for many years but it's switched to Gtk 3 in the latest release. Otherwise it looks identical to before.
It's my X desktop of choice when Unity is not available.LXDE
is a newish project, to make a Light X Desktop Environment. It's Windows-like and not as customisable as GNOME 2 or XFCE. It uses Gtk 2 but it is in the process of being ported to Qt and merging with the Razor-Qt environment to create a new one, LXQT. This will look the same and still be lightweight and fast but be based on Qt instead of Gtk. Distros still have the old Gtk based version, mostly.
Many people loved GNOME 2 and so when GNOME 3 came out and was radically different, GNOME 2 was forked to create Maté
. (The fork is Argentinian. The name doesn't stand for anything and it does not
sound like the English "mate". It's named after the tea-like drink known as yerba mate. "Mate" is the Spanish spelling: mah-TAY. In English the tea is spelled maté to distinguish it from the word mate.)
Maté is also switching to Gtk 3.
The Mint distro adopted Maté early on. There's also an official Ubuntu remix now which came along several years later.
When GNOME 3 launched it included a "fallback mode" in case you didn't have hardware OpenGL. Fallback mode looked just like GNOME 2, but wasn't customisable -- you couldn't easily move panels, add or remove or move widgets, etc. Once software OpenGL emulation worked, this was killed off, just like Unity-2D.
GNOME 3 Fallback Mode was forked as Consort
by the Solus OS distro. This has now died and Solus OS has its own, very slightly more traditional, GNOME 3 derivative called Budgie
Mint is downstream of Ubuntu but it never adopted Unity. Instead, Mint created a Windows-like desktop called Cinnamon
derived from GNOME 3. This looks and works much like Fallback Mode used to. It can be configured to look much like Windows or like GNOME 2, but like Fallback Mode, it is a lot less customisable.
Like GNOME 3 itself, therefore, Cinnamon is based on Gtk 3, needs hardware OpenGL and simulates it in software if this is not available.
Notably, GNOME has been simplifying its apps -- removing menu bars, customisable toolbars, and deleting program features and so on in the quest for smartphone/tablet-like simplicity. Many people don't like this. Ubuntu did a slight fork of GNOME 3 Nautilus to keep the menu bar. Mint did a much bigger fork of the same codebase to keep all the old features (2 panes, status bar, tree in sidebar, etc.) and add more. This is called Nemo
. I use it on Unity -- it integrates quite well.
So GNOME 3, Cinnamon and Unity 7 are all based on Gtk 3, need hardware 3D and so run very poorly in VMs or on ancient kit or servers with 2D-only graphics cards.
XFCE and Maté were
based on Gtk 2 but are rapidly moving to Gtk 3.
This means that, with some further work, they will be usable on Wayland as well as on traditional X.11.
Given that Maté and Cinnamon are both based on GNOME and (now) Gtk 3, and both are sponsored by Mint, this means that they share very similar accessories. They have different file managers, forked from different versions of GNOME Nautilus, and all the other bits are near-identical.
This may lead to a partial merge between them once both desktops are based on Gtk 3. That would be a good thing IMHO.
They might become 2 different desktops with shared apps -- one customisable like GNOME 2, one fixed in a more Windows-like mode with 3D accelation and compositing. However, if this occurs, there won't be a lot of differentiation and a total merge or something might occur.
XFCE is somewhat vulnerable to this too.
All focus on traditional Win95-like taskbar-and-start-menu interfaces.
Unity 7 was meant to be transitional. It's based on a clunky hoary old compositor called Compiz
. It was always intended to die. It will. But it's been stable for 2-3 years now. It's by far
my favourite Linux desktop, mainly because I like Macs and OS X.
Unity 8 has been forked already... twice. I'm on the mailing lists and Telegram groups and am watching with interest. YUnit
is focussing on the desktop version. UBPorts
is focussing on the whole OS stack, and is in discussions with the groups behind Jolla
and some other smartphone-sector players. They are trying to work out if they can merge their OSes into a single unified Linux-for-Android-smartphones platform.
This would be a very good thing.
As ARM devices have no firmware, no standard bootloader, nothing, and all need their own unique drivers, Ubuntu had come up with a very interesting hack in Ubuntu Touch: it runs a container with a very cut-down Android system inside, just for the drivers and hardware initialisation. The others could share this and so support much more kit. Then the differentiator would be the UI layer on top.
Unity 8 is a good UI. It's on shipping kit. Users like it. The plan was sound: if you are on a touchscreen, be phonelike. Apps run fullscreen, but phone apps can run unmodified in a tall thin tiled portion -- either several alongside or 1 next to a bit tablet app.
Plug in a keyboard and mouse, it instantly switches to being a windowing interface. Remove them again, blam, back to a touch interface.
All plan to discard Mir though. They will probably go to Wayland.
There are some minority ones too.Deepin
is Chinese and has a GNOME 3 based UI, modified to be more Windows-like. It's slow but looks quite nice.Elementary OS
has its own desktop, with some GNOME 3 components, modified to be more Mac-like. They have built a lot of their own apps. It looks good but it's very ambitious and they're having problems with funding.Bodhi Linux
is an unauthorised Ubuntu remix with the Enlightenment desktop.Enlightenment
is old but current. It aims for shiny -- lots of graphical chrome. It predates OpenGL and 3D graphics although it supports them now. It has its own toolkit, EFL. It was a 1-man project by a genius-level graphics programmer, Carsten Haizler, known as Rasterman. Others are involved now. It never made it to v1.0 so he redefined the pre-1.0 build number as a version number, e.g. E16. After 12Y of work the stable version finally got to E17. Bodhi built this on an Ubuntu base.
However, Rasterman is still working on it. E19, E20 and E21 followed. Bodhi has forked E17 to maintain its own Moksha desktop. (I think this was a mistake myself.) So Enlightenment lives on, largely ignored. EFL is used in some embedded and consumer devices.KDE
is alive and well. It's bigger, more complicated and messier than ever. Now, the KDE object system introduced in KDE 4, Plasma, is at v5, although the desktop itself hasn't changed radically since v4. So it's not even 100% clear if the current version is KDE 4 with Plasma 5, or KDE 5. I'll just call it KDE 5.
It's very customisable but things the developers didn't anticipate, like vertical panels, do not work well. So basically it's another Windows-like desktop, like GNOME 2/Maté/XFCE. It has its own versions of everything -- not only all the little accessories, but a full IDE, paint and draw packages, web browser, office suite, everything.
Most distros ignore most of this and ship the most popular FOSS offerings -- LibreOffice, Firefox, etc. -- with a partly stripped-down KDE desktop.
IMHO it's been ugly since KDE 2 and getting worse every release. KDE 4 almost hurt my eyes and I can't use it.
KDE 5 has gone for the trendy flat look, and now, it doesn't look so bad. I still find it almost unusable myself. Standard in SUSE and the several forks of the now-bankrupt Mandriva. (Mandriva is the result of the merger of France's Mandrake and Brazil's Connectiva. Mandrake was basically Red Hat Linux with bundled KDE. The company's gone broke but splinters survive -- PCLinuxOS, Mageia, OpenMandriva, Rosa Linux, etc.The Future
Ubuntu is trying to become a standalone profit-making company. It has some odd projects: its own display engine, Mir. Its own desktop, Unity, with 3 branches: Unity 7, Unity 8, and the long-dead Unity-2D. Its own container/hypervisor, LXD. It's the only distro to bundle Sun/Oracle ZFS. Its own phone/tablet OS, Ubuntu Touch. Its own server-automatic scripting system, Juju. Etc, etc.
Too much for a small outfit backed by one man.
One of the guys behind the container system, Dustin Kirkland, who I've spoken with before, posted on Hacker News (now the
tech/geek website) to ask what they wanted to see from Ubuntu
Overwhelmingly, the HN posters said kill Unity + Mir + Ubuntu Touch and focus on the desktop and server. A few days later, that's what the founder Mark Shuttleworth did
Unity is a nice, Mac-like desktop.
But Ubuntu started out as a GNOME distro and it's going back to being one. It's already got an official GNOME 3 remix. The mainline desktop is switching back to it too, next year. This means Wayland too.
I don't like GNOME 3 at all. Many don't. But many PC types dislike Macs and similarly many dislike Unity too. So I will probably switch desktops. I don't know what to yet. XFCE feels old-fashioned and clunky. Cinnamon doesn't work well with vertical panels, the way I like them. I have no idea where to go.
But Unity 7 will be supported for years to come. I'll stay with it for at least another year.
With the switches to Gtk 3, XFCE and Maté might up their games. Cinnamon only just introduced a vertical panel. It might get better. There's even the outside possibility of some kind of technological merger between some or all of these 3.
Shuttleworth has announced that Ubuntu will ship GNOME 3 "as its designers intended". So, they won't customise it to look a bit like Unity
. I'm appalled by this. I think Ubuntu is going to become less relevant as a desktop distro. This might even doom it.
Mint will get stronger, that's a safe bet.
I think GNOME's rivals will do well out of this. Short term, XFCE and Maté will get better, more modern. Maté and Cinnamon might
share some more code and that would free up manpower to develop faster.
Possibly, even, Unity 8 might re-emerge as a community project and gain marketshare. Maté did -- one of the most successful desktop forks ever.
If GNOME gets a lot more users, it might learn some humility and actually listen to what people want -- but I was at last year's GUADEC conference; I have met the dev team now. I wouldn't bet on that.
KDE will continue to go its own way.
There's still a need for a 2D-centric lightweight desktop for VMs, bootable USB keys, servers and so on. LXQt
has real potential there.Executive summary
There are 2 sides of the fence, according to programming toolkit.
Qt: KDE, LXQT (when it's finished), Unity 8, Trinity
Gtk: almost everyone else.
Gtk 3: Unity 7, GNOME 3, Cinnamon
Gtk 2 but moving to Gtk 3: XFCE, Maté
Ex Gtk 2: LXDE, moving to Qt instead
EFL: Enlightenment E21, Bodhi
Unity 7, GNOME 3 and Cinnamon need OpenGL and run badly without hardware acceleration.
XFCE, Maté, KDE, LXDE/LXQT can use hardware acceleration if it's available but run fine without.
Some of the standalone window managers are doing just fine and are still popular: OpenBox, WindowMaker & others.
Some people favour tiling window managers that don't need a mouse at all: AwesomeWM, Ratpoison, i3, StumpWM, many more. These seem to be gaining favour with the sorts of people who don't like full desktops.
Some desktops are dead or dying or never got bundled with an OS so nobody noticed.
Consort seems to be dead. Trinity is nearly dead. Nobody other than Ubuntu adopted Unity, so Unity 7 is definitely dead, but Unity 8 is getting some love and might survive. The GNUstep project
is cloning Apple's NextStep programming libraries as FOSS and as a byproduct has produced a complete NeXT desktop environment. Moves are afoot to make a distro out of this
There used to be some niche ones that cloned existing desktops. There was Sparta, which cloned classic MacOS. AmiWM
cloned the Amiga desktop. ROX cloned the Acorn RISC OS desktop
. I personally like RISC OS so I liked ROX. Guess which desktop XPde
None of these have been updated in years.
Unity is IMHO the best. Fast, stable, pretty, efficient. Community fork might thrive.
Cinnamon: works well but needs 3D & I don't care for the Windows look-and-feel.
Maté, XFCE, LXDE: ditto, but fast on 2D systems.
KDE will continue to plow its own weird lonely idiosyncratic path. Some people love it.
GNOME 3 will continue to slowly gain more users but the glory heyday of GNOME 2 is gone, never to return.
I am considering trying to build my own GNUstep-based remix of Ubuntu, but the stable packages aren't in Debian yet. Maybe next release. I have something running in a VM that's all right.
I'm also interested in seeing if I can get ROX working on modern Ubuntu.