Linux Desktop Environment Face-Off: Which GUI is Best?

Cinnamon Linux desktop environment
(Image credit: Future)

When you start out with Linux, you may judge your distribution by its desktop environment. For this Roundup we’ve going to take a closer look at what designers consider when they design a desktop. The “environment” is the window manager combined with the other elements you may have on your desktop. These are task bars, icons and sometimes active elements on your desktop.

Designers make Linux desktop environments to appeal to all users. You may not be a generic user. While you read this, consider what your preferences are. The two most popular desktop environments are GNOME and KDE. They have different philosophies. For GNOME (Gnu Network Object Model Environment), it is to keep things available but not visible. KDE (K Desktop Environment) chooses to stick with the menus at all times. The third most popular Linux desktop environment is Cinnamon. 

Your choice of Linux desktop environment comes down to personal taste, though what you are working will have the biggest influence on your final decision. Your choice will have a lot to do with whether you are typing a lot or doing graphic work. For example, programmers may appreciate the bare look of tiling window managers, because they’ll have to lift their hands off of the keyboard less. 

To help you pick the right Linux desktop environment for your needs, we’ve put five of the most popular desktop environments up against each other in a no-holds-barred, seven-round face-off. We’ve rated GNOME,KDE, Cinnamon, Awesome and Regolith on a 10-point scale based on Installation, Applications, User Experience, User Documentation, Performance, Extensions and Configurability. 

Installation of Linux Desktop Environments 

Linux distribution maintainers tend to choose a specific desktop environment when they start. This does not lock you into a specific one just because you chose, for example, Ubuntu, but installing another desktop will need a lot of software. This software is the foundation that implements all the graphical components, such as frames, buttons and menus. The major packages also have projects that create specific applications that match the look of their own desktop. Many of these can be used in other environments in case you have fallen for a particular one. It will give a little inconsistency graphically but works well. 

The Plasma project from KDE has many such projects, so if you have a GNOME desktop and want to switch you may end up with a multi gigabyte install. If you choose to install all recommended packages, you will have access to the ‘K’ applications. These are great applications but on each system, you should choose either GNOME or KDE to avoid disc space waste. Of course, you have many other options which can really mess up your settings.

 When you install over another environment, you may run into trouble both with mixed settings and disc waste. (Image credit: Future)

Cinnamon, meanwhile, doesn’t require anything from its GNOME ancestor – it has replaced it all with its own packages. You can install many of the minimal ones with your package manager. Suckless dwm is an alternative minimal option that needs to be compiled from source and changed to your settings.This is actually easy to do, the tricky part is to configure it to your liking. To get some inspiration, check out the build of Luke Smith.  You need to add a few programs and compile them yourself which means that you should be fluent with compiling software and handling patches.

Awesome comes with a basic setup and is easier to customize, because there are many themes available.  It is also available in your repository as a fresh version.  

Regolith comes in an impressive state – it is easy to install and has decent defaults. It requires Gnome, however, because it replaces gnome-shell, which draws down the impression. You also need to be careful when you try it out together with GNOME. You may find that there are some changes to your gnome-shell session after first testing Regolith.

Winner: Cinnamon has replaced Gnome packages with its own, making the install small   

Swipe to scroll horizontally
Cinnamon9/10Row 0 - Cell 2
Regolith8/10Row 1 - Cell 2
Gnome7/10Row 2 - Cell 2
KDE7/10Row 3 - Cell 2
Awesome7/10Row 4 - Cell 2

Application Support From Linux Desktop Environments 

Some applications rely heavily on the window manager to handle their windows. When you choose a window manager, you need to consider if your applications can handle your whole workflow. Popular image editor GIMP is an example of a program that can cause problems when you use the tools in an undocked mode. In the case of GIMP, you have an option to have all tools inside the application, called single-window mode. When running office packages, they usually do fine unless they are made especially for the environment. 

KDE has many projects that need the desktop environment to operate. Watch out for programs that are spelled with a ‘K’ for no apparent reason. They are usually made for KDE. With that said, most of them work across platforms. Don’t switch until you know you have to. 

If the whole tiling windows thing does not suit you very well, do not consider Awesome, Regolith or the do-it-yourself Suckless dwn. They can do floating windows but not very well. 

DWM can handle most situations, but you may have problems with application size exceeding the screen in a dual head setup. 

The same happens in Awesome if you have different resolutions on the second screen. This is not a big problem for most applications. It is worth it if you feel you can save on memory usage.

The most important thing you need to consider is if you want all the notifications that come with the three big Linux Desktop Environments (GNOME, KDE and Cinnamon). You can take them with you, with some tweaking.

Linux Desktop Environment Face-Off: Libre Office

A large part of your Linux desktop environment choice is down to compatibility.  (Image credit: Future)

Winner: Tie (GNOME, KDE and Cinnamon). The three largest Linux desktop environments all have strong application support. 

Swipe to scroll horizontally
Awesome6/10Row 0 - Cell 2
Regolith7/10Row 1 - Cell 2
Gnome8/10Row 2 - Cell 2
KDE8/10Row 3 - Cell 2
Cinnamon8/10Row 4 - Cell 2

User Experience of Linux Desktop Environments 

Current Linux desktop environments have been designed to appeal to a large audience. GNOME has a lot of nice eye candy and its extensions serve you with the weather, mail notifications and, almost anything you need from the internet. In KDE you’ll find a different philosophy but you can still get lots of widgets to add to your desktop. The idea of a button at the lower right corner of the desktop was, for a long time, unavoidable. When the GNOME developers decided to challenge this idea, many users were aghast.

This is one reason Cinnamon exists. The other contestants tested here use the idea that anything can be thrown out if you have another solution. Enter the tiling, minimalist desktop environments; dwm, awesome and regolith. With the dwm team, the whole philosophy is to add nothing until the user decides to. You have to be the one who decides about this.

 GNOME User Experience: 9/10

The GNOME Linux Desktop Environment  (Image credit: Future)

The biggest difference between the big Linux desktop environments has been whether you should have menus for everything or find other ways to locate applications. GNOME has taken the path away from a compulsory drop-down or pop-up menu, instead allowing search to do the job. As default, GNOME comes with a top-bar that shows the date and your chosen extensions. When you need to start an application, you start a text search or you bring up the grid of applications where you can choose. 

There are extensions to add an application drop-down menu, you can also add ‘Places’ to see different directories for your data. GNOME is easy to use even if you do not agree with their initial choice to banish drop-down menus. You can also add many extensions to keep you updated. To improve the desktop environment’s appearance, you also have many themes that you can choose from. The cost is high memory usage.

KDE User Experience: 9/10 

 KDE’s Linux Desktop environment comes with a look and feel that’s reminiscent of many popular windowed operating systems. (Image credit: Future)

The philosophy of the KDE Linux desktop environment has always been to use known concepts and enhance them. This is why they have a menu bar, start box and list of applications. If you like consistency, KDE Plasma is for you. The system is still very innovative so you will not lack new features. 

At first glance, you may think that the interface is inflexible, but that is not true. 

You can set your task-bar at any place on the screen and you can style the desktop in many ways. In fact, KDE is probably the best option for emulating the look of the other operating systems. You have widgets for the desktop and you can also add a dock anywhere on the screen to make it look all macOS. Since KDE’s design philosophy is conservative, standard settings make the interface primarily mouse-driven, so if you want to stick your fingers to the keyboard and never use a pointing device, go elsewhere.

Cinnamon User Experience: 9/10

Cinnamon’s UI is based on earlier versions of GNOME.  (Image credit: Future)

Cinnamon started as a reaction to GNOME 3.0. The designers of Cinnamon liked the application launcher while the GNOME team moved away from that, so they started a project to add it again with extensions. The project grew extensions and is now its own window manager.

On this desktop, you have the traditional corner menu button for applications. You also have a right-click menu anywhere on the desktop and widgets for weather, etc. You will find this desktop comfortable if you like the taskbar and start button.

You can choose a theme that looks like Windows. In Cinnamon, you have ‘spices’ that enhance your desktop. They are themes, applets, desklets and extensions. You can easily fill your screen with decorations and useful things. These are both interactive and simple displays of info, like your CPU, music player, etc.

Awesome Linux Desktop User Experience:    7/10

Awesome Linux Desktop Environment has plenty of flexibility.  (Image credit: Future)

Awesome has many themes available and is easier to use than more extreme window managers like dwm. Once you have it running, you can tile everything, but you don’t have to. Starting applications with a key-chord and typing in part of the application’s name is possible, but you can also use a dropdown menu. This menu appears where the cursor is and shows all the applications available. You can drag your windows across the screen until you get used to tiling techniques.

Most applications run well under Awesome, so your work will be smooth. When you pick a theme, look through the configuration files to find dependencies. The files are in the Lua language, which you will be able to follow even with limited programming experience. Some problems may result from the fact that it takes many features from regular Linux – dmenu and rofi are examples you may need.

Regolith User Experience:  8/10 

Learning all of the key bindings in Regolith Linux desktop environment is challenging. (Image credit: Future)

Regolith is a preconfigured version of i3 – it still runs GNOME but replaces gnome-shell. This means that you are running all applications that auto start in GNOME. The desktop is, by default, tiled and you use the key-chords of i3 to navigate and keep your running applications organised. However, you have the option to use floating applications. You also have a taskbar at the bottom to show the status of your network, battery and more.

Getting used to the bindings in Regolith Linux desktop environment takes a while, so look through the manual for key-bindings and set a training schedule. You will quickly get tired of the beginner confusion otherwise. 

Regolith is very easy to use but does not save much resources from your machine. To make the transition, you need a plan to learn new habits. Otherwise, you will soon notice that you keep doing the same thing as you did before on your old desktop environment

Winner: Tie. GNOME, Cinnamon and KDE all score 9 out of 10 for user experience. 

Swipe to scroll horizontally
Cinnamon9/10Row 0 - Cell 2
Gnome9/10Row 1 - Cell 2
KDE9/10Row 2 - Cell 2
Regolith8/10Row 3 - Cell 2
Awesome7/10Row 4 - Cell 2

User Documentation of Linux Desktop Environments 

Documentation is absolutely necessary, but many maintainers and coders hate writing it. For the major Linux desktop environments, you have great documentation thanks to big organisations. Canonical has the GNOME version of Ubuntu, so you will find a lot on their website. GNOME also has a great site that is split between users, administrators and developers.

The KDE website also has everything covered, with a different design but great content.

To find any help for Cinnamon, start from the Linux Mint website– there are numerous PDF documents available.Development happens on GitHub. You can find most information on the spices page. If you want to make extensions, find links at the Cinnamon github page. Just as in GNOME, extensions are written in JavaScript. 

At first glance, Awesome’s website has a link to the man page, and that is it. Look again and you see not just the libraries described one function at a time, but also an introduction to the configuration file. If you want to make your own theme tweaks and widgets, start at Awesome’s recipe page. There are many widgets here that are well documented and easy to understand. Learning the Lua programming language is not necessary to understand Awesome’s add-ons, since they keep the code simple.

For help with Regolith, the distribution page is great. For more advanced stuff, look for i3 documentation. There are loads of videos and pages where people show off their desktops. There is also a great documentation page where you can find packages you need.  

Winner: GNOME has the most through documentation of any Linux desktop environment.

Swipe to scroll horizontally
Gnome9/10Row 0 - Cell 2
KDE8/10Row 1 - Cell 2
Cinnamon7/10Row 2 - Cell 2
Awesome7/10Row 3 - Cell 2
Regolith6/10Row 4 - Cell 2

Performance and Eye Candy in Linux Desktop Environments 

When you use the standard desktops, Gnome and KDE, you will likely notice that you are using a lot of memory. In some cases, the CPU load also increases quickly. As soon as you start several applications, the system will start swapping between them, which leads to slowdowns and sometimes hangs.

If you haven’t noticed yet, try running htop in a separate window while you try out your choices. You should see a substantial difference with Awesome, i3 and, if you are elite, dwm.

The difference in memory footprint is staggering when you start measuring. GNOME starts with somewhere in the region of 3GB at boot. This can be trimmed down by serious tweaking, but not very much. In comparison, the Awesome window manager weighs in at around 600MB.

Getting the advantage comes at a cost, though: you need to learn a few new habits to use Awesome desktop environment. In the case of the tiling window managers, you have to use keyboard shortcuts to move between windows. In Regolith, you also start all applications with dmenu, drun or rofi.  

You reach these with a key combination. You will be forgiven for feeling uncomfortable about this change – the habit of using the mouse often sits deep. But even if you end up not switching to a new environment, the effort of training is valuable, since you also learn to look for keyboard shortcuts, which helps in individual apps such as Vi and Emacs.

Winner: Awesome desktop environment. You can put a lot of eye candy and daemons before you weigh down your system as much as the others. 

Swipe to scroll horizontally
Gnome5/10Row 0 - Cell 2
KDE5/10Row 1 - Cell 2
Cinnamon7/10Row 2 - Cell 2
Regolith8/10Row 3 - Cell 2
Awesome9/10Row 4 - Cell 2

Extensions in Linux Desktop Environments 

In GNOME, you have a framework for extensions. You are basically making webpages using JavaScript – though this is an oversimplification. You have a huge collection of extensions available on its pages. The integration with your desktop and browser makes things even easier. 

If you want to make your own GNOME extensions,you need to learn how to program in JavaScript which is a very common language for web developers. For some of the extensions, you may run into performance problems, but read the reviews before you install and you’ll be OK.

If you prefer to use KDE as your Linux desktop manager, you can look in its store for extensions; you can make everything look like GNOME and put many widgets on your desktop. They are even available to download using the Get New Widgets option on the desktop. In KDE, extensions are called plasmoids and are compiled with CMake. You still need to know JavaScript, but also add QML to the mix.

You need at least rudimentary programming skills to make your own extensions for a Linux desktop environment.  (Image credit: Future)

Cinnamon spices are also written in JavaScript. The website has a huge amount of choice, so you are still spoiled. These are all great, but if you go for a leaner setup, you have Awesome or Regolith to extend. Awesome doesn’t have a widget system-instead you run regular Linux commands and applications using your configuration file.

A good example is the email widget by streetturtle. It starts with a Lua script that watches a Python program. The Python program keeps checking your email. While this requires better programming skills, it makes it easy to use any programming language to achieve your goal. To download other people’s widgets, look at https://awesomewm.org. Regolith is likewise extended with regular scripts but is also integrated with GNOME, but not GHOME Shell.

Winner: KDE has the most robust extension ecosystem, but GNOME and Cinnamon aren’t far behind. 

Swipe to scroll horizontally
KDE9/10Row 0 - Cell 2
Gnome8/10Row 1 - Cell 2
Cinnamon8/10Row 2 - Cell 2
Regolith6/10Row 3 - Cell 2
Awesome4/10Row 4 - Cell 2

Configurability of Linux Desktop Environments 

Together with all the extensions, there are a huge number of themes for all the contenders featured here in this Roundup. In GNOME, you choose themes for different categories; applications, cursor, icons, shell and sound. They come in separate files, and they use CSS for the components. 

You also have many SVG files in GHOME to represent the animations. This makes it easy to install existing themes after you have downloaded them. You will not be able to search from the install tool, while in KDE you can search the official site for these things straight from your tool.

In GNOME, you can add new extensions using the extensions webpage. It has a local section that shows your currently installed extensions. If you put in too many or you suspect that one is crashing your system, you can turn off all of them and start from the beginning without removing them.

In KDE there is a special application just for adding new themes and desktop elements. This is a little better, but other solutions exist to save all of it as a single file. The repositories are huge, so you will spend most of your time looking for your own personal style. The files themselves are easy enough to understand if you have made any webpages, as they are either made with CSS or JavaScript.

Awesome Linux desktop environment requires more text file edits to configure than some competitors. (Image credit: Future)

Awesome desktop environment uses the Lua language, which most people should be able to figure out just by reading the files. This way of changing the look is a bit more cumbersome, at least for non-programmers. The idea, of course, is that developers and others who use the command line a lot are the primary users. As a consequence, the configuration files are scripts. 

In Awesome, Lua scripts call other scripts or binaries. When you get used to it, this is actually faster, but regular users will face a fairly steep learning curve to overcome initially.

To configure Regolith, you copy the default i3 configuration file from /etc/regolith/i3/config to your home directory ~/.config/regolith/i3/config. The file is a straight text file where you set parameters for i3.

Winner: KDE has a dedicated application for configuring the look and feel of your OS, along with plenty of themes. 

Swipe to scroll horizontally
KDE9/10Row 0 - Cell 2
Cinnamon8/10Row 1 - Cell 2
Gnome8/10Row 2 - Cell 2
Regolith6/10Row 3 - Cell 2
Awesome4/10Row 4 - Cell 2

Bottom Line

In this face-off, we have shown you a way of choosing the best Linux desktop environment, so now it is your turn to try them out and decide for yourself! When using your computer, you have many different tasks or actions. You may do work, in which case you have a workflow. The way you use the computer affects which desktop environment you want to use, making it a very personal choice. 

You are probably going to find it best to work on GNOME, KDE or Cinnamon, because these are the default desktop environments in the most popular distributions. They also include all the nice features and extensions, while being easy to get started with. You can see your applications and have symbols that tell you what you can do. The most polished of these is KDE. It is also the most decorative and versatile of the bunch. This comes at a cost, though.

Cinnamon has the best balance between extensions and ease of use, while it is also fast and responsive. At the same time, it is not that heavy on resources. You can also add a wide range of extensions in the shape of widgets that send you ongoing and updated information.

Regolith requires a bit more training, but it does set itself up for you so you can continue as you did with GNOME. Adding extensions and other gadgets is a bit more tricky, however. If you decide to choose a tiling window manager, it will probably be for the simplicity of the desktop, as well as the low resource usage it offers.

With Awesome you have to set up and practice to use it! It’s easily the hardest in the group to get started with. When you are up and running, Awesome does deliver the most benefits from a resource point of view. Despite the text-based system of setting up the Awesome WM, it is not that challenging to get into. With many examples available and tutorials aplenty, even a little effort will  lead to a strong, fast desktop that is to your liking.

Overall Winner: Cinnamon. In this face-off, you can see that deciding on the best desktop environment is not entirely objective. However, on balance, the best choice here is Cinnamon because of its strong combination of user experience, performance and customization.

Swipe to scroll horizontally
RoundAwesomeCinnamonGNOMEKDERegolith
Installation79778
Applications68887
User Experience79998
Documentation77986
Performance97558
Extensions48896
Configurability48896
Overall Score6.387.77.97

This article originally appeared in Linux Format Issue 262.  

  • Math Geek
    very informative. after tinkering with the various desktops i also decided cinnamon was the best one for me at the moment. Gnome was pretty easy to work with but i liked the "feel" of cinnamon better. you put into words some of what i found to be different between the 2.
    Reply
  • LinuxGuy2020
    Who wrote this? Not a single mention of XFCE or MATE? I hate Gnome 3 trying to turn my i7 into "tablet mode". Gnome 2 was great and MATE carries that on. KDE has so many settings its overwhelming. Cinnamon is freaking amazing, especially in Linux Mint. But Cinnamon on Debian looks ugly as can be. Never heard of Regolith.
    Reply
  • johnphilips
    Tom's software
    Reply
  • mdd1963
    Mint Cinnamon has seemed great ever since 2015 or so....

    (I hate the GNOME scrolling side menu launch options of Ubuntu, CentOS, and now poor Debian)
    Reply
  • Renato ZX
    No deepin Desktop Environment https://www.deepin.org/en/No Solus Budgie https://getsol.us/download/No XFCE https://mxlinux.org/No MATE LNxntJrxL6sView: https://youtu.be/LNxntJrxL6s
    No Pantheon from https://elementary.io/No UKUI https://www.ubuntukylin.com/
    Reply
  • Math Geek
    there are MANY MANY desktop variants out there. no possible way anyone could compare and write up a hundred different options. so they chose to go with the TOP 5 at the moment.

    so keep listing obscure other desktops if you want but they are not the popular ones most people new to linux are going to hear about and try out first. just the way it is.

    KDE, gnome and cinnamon are the only ones i even considered. and most of those other ones people are mentioning are derivatives of the main ones, you should now be able to read the description of those more obscure ones and understand how it changes from what was written about here.

    so rather than complaining about the missing ones, perhaps a few sentences about why the one you like differs from the one it is based on and how that makes it better suited for you.

    just a thought anyway
    Reply
  • escksu
    Nice article!!

    Sadly, Even after so many years, it still remains as os for hobbyists and hackers etc (i use both windows and linux, on kde.. because i started with kde back then, just stick with it).. it was once hailed as replacement for windows.... Haha.... That was a long long time ago. All these despite it being free...

    I was hoping redhat could become mainstream. Sadly it didnt happen.
    Reply
  • Math Geek
    escksu said:
    . it was once hailed as replacement for windows.... Haha.... That was a long long time ago. All these despite it being free...

    I was hoping redhat could become mainstream. Sadly it didnt happen.

    i am learning linux now so i don't have to use win 10. i know a lot of people who are hoping i can find a relatively easy distro/desktop combo so they can also make the switch. the plan of course is for me to figure it out and then teach the others. i don't think linux will ever replace windows, but they will certainly push a bunch of people to linux who are willing to learn.
    Reply
  • escksu
    Math Geek said:
    i am learning linux now so i don't have to use win 10. i know a lot of people who are hoping i can find a relatively easy distro/desktop combo so they can also make the switch. the plan of course is for me to figure it out and then teach the others. i don't think linux will ever replace windows, but they will certainly push a bunch of people to linux who are willing to learn.

    Unfortunately, its not going to happen. Almost all companies uses windows and windows based application. So no way to avoid.

    And then, the lack of users means many vendors aren't even interested to support Linux. Esp. drivers. Eg. for gaming. Look at how many games work on linux and its performance. Not to mention problems associated with it.

    I feel redhat could change it.... I believe end users don't care about the OS at all (looking at how quickily pple gotten used to android in phones/tablet and ditch windows totally). They just want something thats easy to use. As long as it runs their games and apps, they are fine.

    If redhat could release a "redhat Linux", I feel it would be awesome. i.e. everything redhat, no more KDE, Gnome etc...... Basically it looks and feels like windows/MacOS (call it redhat desktop). Then easy updates etc.... a few clicks. I feel pple will use it. Of course, we still need Microsoft to have a linux version of Office. Or something thats close to it (don't need to be free). Pple will buy and use it. We had work perfect and lotus 123 back then..... They were the dominant till MS word/excel came along....
    Reply
  • dragonfly-A
    Math Geek said:
    there are MANY MANY desktop variants out there. no possible way anyone could compare and write up a hundred different options. so they chose to go with the TOP 5 at the moment.

    so keep listing obscure other desktops if you want but they are not the popular ones most people new to linux are going to hear about and try out first. just the way it is.

    KDE, gnome and cinnamon are the only ones i even considered. and most of those other ones people are mentioning are derivatives of the main ones, you should now be able to read the description of those more obscure ones and understand how it changes from what was written about here.

    so rather than complaining about the missing ones, perhaps a few sentences about why the one you like differs from the one it is based on and how that makes it better suited for you.

    just a thought anyway

    Sorry but the other dude was definitely correct. XFCE and MATE are household names in the Linux-based world. If the article didn't have Regolith listed I'd probably throw you a bone but the point is moot with that.

    Source: been using desktop Linux since 2001. CDE endures.
    Reply