Windows to Linux: Window Manager vs. The Desktop Environment In Linux

What type of desktop environment is best suited to meet your needs?

Linux is all about choice. Because of that, your options are far from limited. In fact, quite the opposite is true. For nearly everything you do on the Linux desktop, there are numerous options to make things happen.

Such is the choice with what desktop you use. Unlike Windows and macOS (where you are locked into using the desktops Microsoft and Apple have chosen for you), with Linux the sky’s the limit. You can use GNOME, KDE Plasma, Pantheon, Deepin Desktop, Xfce, Lxde, Cinnamon, Mate, LXDE, Budgie, Enlightenment, i3, Awesome WM, Openbox, Gala, Lumina, Sugar, and many more. But what’s the difference? Why would you choose one over the other?

One of the most important factors involved with selecting a Linux desktop is do you want a Window Manager or a Desktop Environment? This is much more than terminology, this choice makes for a serious difference in how you work on your desktop.

Terminology

Screenshot of the Pantheon Desktop Environment.

To understand the difference, we need to get a bit of terminology out of the way. There are three possible layers that go into creating the Linux desktop:

  • X Windows – This layer is required by all graphical desktops. X Windows (usually served up by X.org) is responsible for drawing graphic elements onto the display. Without the X Windows server, neither a Window Manager or a Desktop Environment could create images on the screen. X Windows also creates the framework for moving windows, as well as interactions with the mouse and keyboard.
  • Window Manager – While X Windows is responsible for drawing graphical elements, the Window Manager takes charge of controlling the placement and appearance of said windows. Unlike X Windows, the Window Manager can be customized with themes, menus, and more. Typical Window Managers include: Enlightenment, Gala, Mutter, KWin, Fluxbox, i3, JWM, Window Maker, and IceWM. The Window Manager requires X Windows, but does not require a desktop environment.
Screenshot of the Enlightenment Window Manager.
  • Desktop Environment – The Desktop Environment requires both X Windows and a Window Manager, but adds a much deeper and seamless integration with applications (such that they are aware of one another), panels, system menus, status applets, drag and drop capability, and more. The goal of a good Desktop Environment is to focus on the overall user experience. The most popular Desktop Environments are GNOME, KDE Plasma, Pantheon, Mate, Cinnamon, Deepin Desktop Environment, and Budgie.

Making the Choice

Now that you understand the difference between those three components, which choice is best suited for your needs? For most, the logical selection is the Desktop Environment. Why? Both macOS and Windows offer fully-integrated Desktop Environments. These Desktop Environments tend to have default configurations that work best for the average user, whereas a Window Manager will require the user to take the time to tweak the environment (sometimes by way of manually editing a configuration file) to meet their needs. Since most new Linux users are migrating from either macOS or Windows, logic would dictate that they'd want an environment that offers the same level of integration and simplicity as what they're used to.

Sounds simple, right? Generally speaking it is. It’s a rare occasion that a new Linux user would find themselves at home on a distribution that makes use of a Window Manager and not a full-featured Desktop Environment. Why? Because Window Managers aren’t always the most user-friendly environments. However, there are some Window Managers that go a long way to mimic the integration found in the Desktop Environment, with a caveat.

Take, for instance, the Enlightenment Window Manager. Although this particular Window Manager does a great job of offering many of the elements found in the Desktop Environment (all the while being quite aesthetically pleasing), it’s not for the faint of heart. In fact, with Enlightenment, users even have to learn different terminology for various elements of the desktop and, in some cases, manually configure the desktop via text files.

However, one of the aspects of Window Managers (like Enlightenment) that most users like is its flexibility. Unlike a Desktop Environment, most Window Managers are highly configurable. Using themes, transparencies, menu editors, and much more, users can transform a Window Manager to look and behave exactly as users want. To the contrary, Desktop Environments tend to be a bit more rigid in their flexibility.

Which is Best For You?

The answer to that question depends on how much time you want to take configuring the desktop and how seamlessly integrated you want your desktop to be with your applications. If you like the idea of constantly tweaking the desktop, and don’t need that much integration, go with a Window Manager. If, on the other hand, you want a desktop that simply works for you, with next to no tweaking, go with a Desktop Environment (such as GNOME or KDE Plasma).