I'm curious about the differences between desktop environments, window managers, and graphical shells. I get that a desktop environment can include a window manager, and that they can work independently from one another. But then I read that Unity is called a graphical shell, which confuses me about how it's different from a desktop environment. I also learned about Wayland, which seems to manage windows but isn't a window manager itself. Can someone clarify this? I'd like to know how all these components fit together. Additionally, what does a device mapper do in this context, and are there other important components of an operating system that I should be aware of? I already know about inits and package managers, but I'm looking to understand the full picture!
5 Answers
A desktop environment (DE) is a complete package that includes everything you need to use your computer graphically. This encompasses the window manager, panels, applications, and more. On the other hand, a window manager (WM) is just the part that controls how application windows appear on your screen—like their sizes and positions. A graphical shell is any interface that lets you interact visually with the system; for example, Unity can be considered a graphical shell but is also part of a DE. Generally, when you install a full desktop environment, it brings along a window manager and graphical shell, so you won't have to worry about them separately. You can think of the DE as an all-in-one toolkit, while the WM and shell are like individual pieces of a larger puzzle.
If you really want to get into the nitty-gritty, check out the Arch wiki. They have comprehensive documentation that breaks everything down clearly. Each component has specific functions, and their wiki does a great job explaining them all in detail—especially if you’re looking to understand how everything fits together.
So here's a breakdown: the window manager controls how application windows are displayed and interacted with, while the graphical shell is the interface that you see, complete with the desktop background and taskbar. The desktop environment includes both of those plus other utilities like a file manager and settings manager. Regarding Wayland, it's a protocol for managing windows, so it sets the stage for displaying graphics, but doesn't do the actual window management by itself. As for the device mapper, it's used to manage storage volumes rather than the desktop experience. And yes, beyond what's being discussed, other important components include the core utility system and the init system. The init system handles booting and starting processes, while core utilities provide essential commands and functions.
Thanks for the input everyone! I appreciate the breakdowns. Just to clarify, a device mapper essentially deals with drives and partitions, right? So it’s somewhat separate from the GUI layers?
Exactly! The device mapper manages the storage space of your drives and partitions. It plays a crucial role in how your storage devices interact with the operating system, but it doesn’t directly relate to the graphical aspects of a DE or WM. And as for additional components, definitely familiarize yourself with shell environments and the GNU coreutils—they're foundational to how your OS operates.

Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures