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.
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
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.
Winner: Tie (GNOME, KDE and Cinnamon). The three largest Linux desktop environments all have strong application support.
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 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
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 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 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
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.
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.
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.
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.
Extensions in Linux Desktop Environments
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.
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.
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.
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.
This article originally appeared in Linux Format Issue 262.