DEV Community

Nazmus Sakib
Nazmus Sakib

Posted on • Edited on

Which Linux Desktop Environment will be the best for you?

Right after you have chosen your Linux distribution, the very next question comes to your mind is what desktop environment am I going to use? This was not a problem if you have used windows or mac, you do not have the choice at all! Linux gives you the freedom and the sweet trouble of which one to choose. Let’s see if we can help you here.

One thing we need to clarify before we proceed, not all desktop environments will work out of the box in all distribution. Why?? Because sometimes developers do not target all distributions and skip testing on distros other than their selected few. For example, Cinnamon is only supported on Linux mint. That does not mean you can not make that DE work on your non-mint system. Most probably you can, but you may need to go through additional pain to fix things if any trouble arises.

Okay, enough talking.

Gnome

Gnome does not have the most extensive set of features, but that’s not its goal. Gnome wants to keep it's feature-set small but solid. It is most widely chosen as the primary DE among distributions because of this. It has a very large flock of developers supporting it. Its features can be extended easily by thousands of extensions. Its easy for developers to write these extensions with the help of the great API & documentation gnome provides. You can’t go wrong with gnome.

Pros

  • Stable, robust, rock-solid
  • Thousands of extensions
  • Official support from distros
  • Large developer base
  • Minimal, unobtrusive design
  • Wayland Support

Cons

  • Fewer features, less customizability
  • Extensions are not of good quality. Fails too often.
  • Poor workspace management
  • Resource hungry

KDE Plasma

KDE has tons of features on the contrary. Not only it provides the DE, it provides many softwares as well which suits best only on KDE (for example, KDE connect). while it has its pros on customizability and feature-set, it did not feel that stable to me like many others. The code-base is old and hard to maintain, as complained by many. It is also a bit heavier than most others.

[Edit]

KDE plasma has improved a lot over the past year. I can't complain it's 'heavy' anymore. Plasma fans have fried me down there in the comment section with some very valid statements. Kudos KDE for the revamped plasma!

Pros

  • HUGE feature-set
  • Large developer base
  • KDE softwares
  • More Customizable
  • Wayland Support

Cons

  • Not so robust
  • May seem cluttered and distracting to many

XFCE

It looks old and boring, honestly. Fortunately, it's only when you first unpack it. You can customize it to your heart’s content. The look, the feel & the behavior. XFCE is very efficient in using resources. You can expect solid, robust performance although it is maintained by only a handful of developers. If you have a low spec system, XFCE can be your friend. I have seen many high spec folks using XFCE because they like the efficiency and no-bullshit principle of XFCE

Pros

  • Fast, Efficient on resources
  • Customizability
  • Good workspace management

Cons

  • Old school design out of the box
  • Slow development
  • No real sign of Wayland support

Mate

Gnome took some radical decisions when they upgraded from Gnome 2 to Gnome 3. Many gnome developers and fans did not like the move at all. They decided to take the existing codes of Gnome 2 and keep making it awesome in their way. Mate is the end result. It does not have that many extensions like Gnome 3. But it's fast, simple, customizable and robust.

Pros

  • Many active developers
  • Very easy to customize
  • Simple, lightweight, fast
  • Robust and stable experience

Cons

  • Slow to pick up trends
  • Conservative principles to hold on Gnome-2 like experience
  • Looks and feels old by default
  • No Wayland support yet

Cinnamon

There are many Windows refugees out there in Linux world. Many of them prefer a Windows-like look and feel in their desktop environment. Cinnamon can be the way to go. It's also a child of the mighty Gnome DE. Unlike MATE, it is born from Gnome 3 (MATE is a fork of Gnome-2).

Pros

  • Windows look & feel
  • Nice UI, theming
  • More modern fork of Gnome
  • Fairly Customizable

Cons

  • Not that robust
  • Only supported on Linux mint
  • Sometimes buggy

i3

A Desktop environment mainly consists of a window manager, panels, menu, system tray, launcher and so on. I3 is not a full desktop environment. It is basically a window manager with a bit of panel support. Unlike the DE’s that we have discussed already, this one does not have a floating window manager. This is a tiling window manager which can provide a very fast workflow for power users. Many former DE users moved to such tiling window managers and you can try one too!

Pros

  • Crazy fast workflow
  • No need for mouse 90% of the time
  • Extremely customizable
  • Configuration (aka rice) can be replicated easily

Cons

  • Difficult for beginners
  • Hard to set up as a full DE
  • Panels, menu, system tray set up can be hard

[Edit]

There are other DEs worth mentioning, like Budgie. And if you like an window manager like i3, openbox is another big name to try out. However, I haven't personally tried these so not commenting too much on them. However, do check out the comment section to read other people's experiences!

Top comments (60)

Collapse
 
actionparsnipxl profile image
Andrew Woodhead

i3 isn't a desktop environment. It's a window manager. You can use i3 on top of Gnome or KDE to replace the current window manager.

Collapse
 
kidpixo profile image
kidpixo

Technically true, but can be used instead a full blown DE.
I use i3wm without any DE and find it extremely enjoyable.

Collapse
 
imtiazsakib profile image
Nazmus Sakib

Yeah I mentioned that though. I tried to use i3 on top of Gnome but couldn't find a proper solution that works seamlessly. have you tried?

Collapse
 
neuralod profile image
neural-oD

Try Regolith, this is an easy start for i3...

Collapse
 
elnawe profile image
Nahuel Jesús Sacchetti

I tried i3-gnome-flashback a while back and it worked pretty well: github.com/deuill/i3-gnome-flashback.

Collapse
 
emptyother profile image
emptyother

Xfce was the one i got to play best with x-server when trying to make my WSL-launched apps look and act like native Windows apps. Also the one that worked best when I tried running a VirtualBox linux vm in desktop-integrated mode. Probably something to do with how square and shadowless their themes are: Other Desktop Environment themes all had this huge window shadow margin that follows the Linux-rendered UI into Windows' viewport and I found no way to completely turn it off. Some environments couldn't run with VirtualBox's integrated-desktop mode at all. And panel-based window manager DE's was useless when what I wanted was to make linux GUI apps run seamless with Windows desktops. So kfce won that one, twice (virtualbox and WSL).

Unfortunately I have a habit of, when I finally get my Linux setup perfectly, to eventually break the desktop environment and giving up on fixing it again.

Collapse
 
elnawe profile image
Nahuel Jesús Sacchetti

Re: the big shadow is part of the composite manager. I'm not sure what's the XFCE default, I use picom (a.k.a Compton) which is highly customizable. You can remove the shadow and effects specific by window or window class.

Collapse
 
emptyother profile image
emptyother

TIL. Thanks, I gotta take a look at this the next time I try Linux again.

Collapse
 
pkill_aditya profile image
Aditya

Oh I do it every time. Launch WSL > launch XFCE4 Panel. The rest of the Linux stuff is managed by launching apps from panel. I like XFCE Terminal because it has clickable links and text do not break on resizing the window.

Collapse
 
imtiazsakib profile image
Nazmus Sakib

haha I would use a backup tool like timeshift though. Maybe you should too!

Collapse
 
dondondon3333 profile image
Don

I find not just cinnamon but mate and budgie and xfce and lxde all are very Windows friendly. I never understood why cinnamon was always the one people say is for Windows people. Maybe because Windows people are used to crashing. That's the only thing I can think of as to why only cinnamon is usually recomendef

Collapse
 
imtiazsakib profile image
Nazmus Sakib

we can say this to Gnome also. Windows guys like Zorin's look & feel a lot, that's Gnome !! Cinnamon Looks good out of the box, unlike XFCE/LXDE cinnamon. I think we can't expect new windows refugees to be comfortable in ricing their DE.

Collapse
 
python_paul profile image
Paul

I think it's just that Cinnamon is the default on Mint and Mint is the common disto recommended for new Linux users who are used to Windows.

Collapse
 
erikthered profile image
Erik Nelson

Is this still true? I haven't seen this recommendation made very often anymore

Thread Thread
 
python_paul profile image
Paul

I've been doing lots of distro searching the last few weeks, just debating on upgrading Ubuntu 18.04 or using something newer (on my daily driver). I have a 2nd laptop I use sometimes that I try different distros on for curiosity sake.

Seemingly every list I see has Mint at or near the top for new users. But I think to your point, no, it's not the default recommendation anymore. I guess we're past the point of having one good beginner distro and there are a few good options.

Thread Thread
 
imtiazsakib profile image
Nazmus Sakib

Ya lot of things have changed actually, & distros are more usable & newbie-friendly than ever. Who thought people will suggest Arch-based distro to newbies! Now I do recommend Manjaro!

Collapse
 
pkill_aditya profile image
Aditya

KDE is not resource hungry at all. It uses less than 0.5 GB right after booting.

Collapse
 
imtiazsakib profile image
Nazmus Sakib

Sorry, I haven't used KDE things in 2019. I've edited that part, thanks for correcting me!

Collapse
 
erikthered profile image
Erik Nelson

I think this is some leftover stigma from the early KDE 4 days, it's surprising how lightweight it is now.

Collapse
 
elnawe profile image
Nahuel Jesús Sacchetti

I love XFCE.

I used to use a fresh installation of Arch without a real DE, just running i3. But I noticed my setup lacked a lot of useful stuff that I wanted to have (specially in laptops). Played with gnome-session, no good and a lot of stuff I didn't want. When I moved out from i3 to EXWM (Emacs X Window Manager) I noticed I really needed the benefits of a desktop environment and that's where I first tried XFCE.

Good thing is all the XFCE cons on this post don't matter to me.

  • Old school design it's pretty much my design of choice (I don't see it because I just run Emacs, but Emacs has an old school design too).
  • Slow development is fine for me since most of the things I do are still done outside the DE configurations, but I have access to the session manager and power management.
  • No Wayland support: EXWM doesn't have Wayland support either.

Good post though, I noticed I also played with every single one of them. Now I'm more stable with my choices.

Collapse
 
nicolasfella profile image
Nicolas Fella

This "KDE" analysis is highly questionable. First of all, KDE is not a desktop environment but a community. The desktop environment produced by KDE is called Plasma. The KDE Software that is mentioned (including KDE Connect) is completely independent from Plasma. In fact, lots of KDE Applications also run on Windows, macOS or Android. Also the claim that the KDE codebase is old and thus hard to maintain is questionable. It's true that some of the code dates back to the early days of KDE 20 years ago, but with very few exceptions maintainability is not a problem. Many parts of the software are very much younger even. GNOME is not much younger than KDE, but here there is no such claim at all. Furthermore, claiming that Plasma is particularly "heavy" is not true at all. In fact it's much more performant than GNOME shell and on par with the other mentioned desktop environments (well, except for i3, which is not really a desktop environment)

Collapse
 
svella profile image
Shon Vella

Originally, KDE was an acronym for K Desktop Environment, but I guess that's gone the way of Kentucky Fried Chicken and International House of Pancakes.

Collapse
 
keziahmoselle profile image
Keziah • Edited

Thank you it was very interesting !
Do you plan to write an article similar to this one but with Linux distributions please ? :D

Collapse
 
ssimontis profile image
Scott Simontis

They are all more identical than people make them out to believe, in my opinion at least. I use Debian on servers because it is solid and reliable and I know it well, and I just put Manjaro on a HP Spectre I was about to throw against the wall; we will see how that goes.

Stick to something mainstream unless you have specific needs. You'll be able to get better support. Most distros allow you to create a Live USB stick so you can boot it up and play around and quickly veto it.

Collapse
 
keziahmoselle profile image
Keziah

Thank you !

Collapse
 
imtiazsakib profile image
Nazmus Sakib

TLDR: If you're a developer maintaining a sophisticated development stack, better stick to Ubuntu. If you are not, try experimenting with all the top distros in distrowatch until you realize you want to stick with Manjaro ;)

kidding, you can't go wrong with any of the big names actually. keep exploring!

Collapse
 
keziahmoselle profile image
Keziah

Haha yes you're right I will need to try all these distros :D

Collapse
 
devanghingu profile image
Devang Hingu

i am fan of linux from i was in first year of college. At that time i bought new HP laptop which came with preinstalled windows and i tried to install linux and formatted my whole system 😂😂 and i know it crazy..... i did lots of stuff after that my journey begins with this....... now almost 6 years i'm using linux. i have used many desktop environment with many linux distribution. my personal choice is KDE. 😍😍 i really love it.

Collapse
 
groudfrank profile image
Groud Frank

For me, Gnome is it. I just keep going back to it and it's what I will recommend to friends, family or anyone interested. Gnome has become so mature that I no longer theme it outside of changing to icon set (currently rocking Newaita icons). Gnome is, for the most part, has the right amount of customization options, simplicity and beauty and nothing else really does that for me. Of course there is room for improvement but there is also time for improvement. I'm excited to see where the Gnome team takes this experience.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

The question I have is how do you write your own desktop? Give an example, electron for node.js based desktop

Collapse
 
imtiazsakib profile image
Nazmus Sakib

ya, Unfortunately, I haven't seen too many performant softwares written in electron(except VScode & handful others). May not be a good idea!

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀 • Edited

Depends what you mean by perfomant, I had the idea of writing most of the backend in rust with wasm. If electron is out then thier may be lighter alternatives.

WASM can be multithreaded also if that was a concern, plus FS is exposed from libc if used in node context. In other words I think it might actually now be a realistic premise.

Collapse
 
jachdich profile image
Jachdich

I'm not sure a JS based DE is a good idea. Almost all DEs are written in C(++). I have no experience myself but I reckon JS would be too slow.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

Yeah I didn't plan to write the logic in anything other than web assembly.