DEV Community

Miguel Ávila
Miguel Ávila

Posted on

The Linux Desktop Environment Guide

👇 Introduction

As a relatively new Linux user (I started using it as my main Operating System two years ago) I know there's this misconception about what's the difference between the enormous variety in distributions. And as you continue installing more and more, you'll learn there are two main differences: The Package Manager and The Desktop Environment.

I'll write more about package managers and installing apps on Linux on a later post. But now I'll focus on Desktop Environments, because they're the first thing you see when you turn on your machine.

💻 Desktop Environment?

You can say it's a set of programs, apps and settings that build all the user experience using the system. Over the years, some distributions have generated their own DE, just as Ubuntu and Elementary OS. And IS LINUX! Every distro can use the DE they want with the modifications they want. So it can be a little bit tricky to notice the difference between every distro.

🦶Gnome

Do you want to feel different? Try new interfaces and feel like using Linux. Then you definitely try to use Gnome. It takes (in my opinion) the best features of MacOS (Like Dock and Status Bar) and the Window Management from Windows to make an easy to use Desktop Environment and off course is also pretty customizable with GTK (Tha’ts almost all CSS files)

Group 4.png

🦎 KDE

Customization on the next level. Everything you see can be changed. Almost every interface you can imagine can be built with the right tools. KDE is just in the next level to make your environment the way you want and also It’s pretty stable. KDE Team also develops awesome tools for all Linux Community and at first it takes a more Windows like interface, but once you dive deep into all system preferences you’ll quickly notice that KDE can be changed even on the main cores

Group 9.png

⚓️ Pantheon

Pantheon is developed by the ElementaryOS team and it’s written using Vala and GTK frameworks. Pantheon is a little bit more hard to customize but it just feels gorgeous at hand. It’s pretty usable and the advantage of being opinionated is that all systems feel like a part of an all.

Group 8.png

🪟 Window Managers

When we dive deep into subreddits of Linux or really interesting Youtube channels you’ll stop hearing about Gnome, KDE, etc. And you’ll notice other words like BSPWM, i3, AwesomeWM. These ones are Window Manager, and that means they’re a little bit more deep tools because they don’t include a status bar, an app launcher or even buttons to close each window.

Group 7.png

This is for Linux users that want to have a meeting with their computer on the next level. I totally recommend giving a chance to build your own Desktop Environment with window managers, and Manjaro i3 is an incredibly good startpoint.

✨ Interesting new Projects

🌌 Cosmic

Cosmic will be a Rust and Gnome based Desktop Environment that is currently under development by System76, also developers of PopOs. Cosmic will take advantage of Gnome's awesome user experience and the power users ideas like advanced tiling window management to create a brand new environment. It looks pretty and powerful (because of the use of Rust).

Group 6.png

🪨 Maui Shell

Nitrux is an interesting distribution and also is developing (and designing) a great framework called Maui. And based on it they’re now developing Maui Shell that supports X11 and Wayland with an awesome floating status bar and dock. It’s based on KDE Qt framework which also gives great stability. The best thing is that you can already try it out in the last Nitrux release.

Group 5.png

👋 Conclusions

I feel like Linux is an incredible option to grow as a developer, as a designer (Of operating system elements) and even if you’re only a geek that loves computers. And nowadays, it’s more important to analyze our workflow and how different Desktop Environments follow the work we do. I also want to recommend this video: Recommend Desktop Environments, not Distros and his channel in general. It's amazing the content of Linux.

Discussion (0)