So as this is mostly written just for my own reading, I will be blatantly rewording entire articles from various Wiki entries and distilling information contained therein into usable chunks that my diseased brain can understand. I will provide links to articles used if you want to just browse through it all yourself. This is Linux centered, because on proprietary operating systems you don't have a choice, and let's face it, if you're reading this then you probably don't use a BSD or Haiku.
First, let's start with some definitions that I stole from the Arch Wiki.
A desktop environment (DE) is an implementation of the desktop (widgets, themes, icons, wallpaper, etc.) metaphor that all modern Graphical User Interfaces (GUI) to computers utilize. It's usually just a bundle of programs that work well together to provide the interface to the computer.
A window manager (WM) is a piece of software that controls window appearance and placement within the GUI.
A desktop environment provides a window manager, but you can also use a window manager on it's own, separate from a desktop environment altogether, and mix and match the programs you use to interface with the computer. You can also sometimes replace one DE-supplied window manager with a compatible window manager.
List of Desktop Environments
Here's a not-so-comprehensive list of desktop environments usually found in package repositories for popular Linux distributions which I stole from Wikipedia:
- Enlightenment - Apparently both a DE and a WM...
- Equinox Desktop Environment
- ROX Desktop
- Trinity Desktop Environment
The Arch Wiki desktop environment comparison list includes the following as well:
There are others, but as comparing them may be more difficult because they're not on one of these comparison lists, I have omitted them here.
Biased and maybe uninformed opinions ahead:
The DE's that appear to me to be most popular (and therefore are probably the best supported) are (in alphabetical order) Budgie, GNOME, KDE, and Xfce. Next up would be Cinnamon, Deepin, Enlightenment (zero experience with it, but I see it mentioned here and there), MATE, and Unity. Then there would be LXDE and LXQt. The rest I admittedly have absolutely no experience with and don't see much written about.
Let me repeat crap that I've read and state that the Best DE's for low resource computers would be LXDE, LXQt, and possibly Xfce. Although to be honest I only have experience with Xfce from this short list. Really though, maybe you should consider not using a desktop environment in this situation at all and just go for a window manager that uses less resources instead. The desktop environments that include compositing window managers are probably going to eat your system's lunch.
There are 4 types of window managers:
- Stacking (aka floating)
NB: I guess I didn't realize how many of the examples given have overlapping functionality, but here we are. Examples are given under the heading of what the WM is perceived to be (by me). I also generally just picked them from a hat off a list.
Compositing window managers create an image composite of running program windows and provide 2D and 3D effects for those windows. Examples include Compiz, KWin, Metacity, Mutter, and Xfwm.
Stacking window managers provide the paper on desktop metaphor for program windows, allowing one program window to overlap another like one page of paper on top of another. They thus make heavy use of the mouse in order to manuever windows around each other. This is pretty much the paradigm one would be familiar with coming from proprietary operating systems. If a window manager provides overlapping windows but isn't doing the extra crazy stuff that compositing window managers do, it's a stacking window manager. Examples include Blackbox, Fluxbox, IceWM, and OpenBox.
Tiling window managers lay out new windows in "tiles" as in tiles on a bathroom floor or kitchen backsplash, preventing overlaps. This allows users to utilize their keyboards almost entirely to get work done, avoiding having to switch to the mouse in order to manuever the tiled program windows around their screen. Examples include Ion, Ratpoison, StumpWM.
Dynamic window managers provide both types of functionality, stacking and tiling, and can be switched between them on the fly. Examples include awesome, dwm, i3, xmonad.
The Arch Wiki list of window managers is quite extensive, and the comparison list on Wikipedia is also extensive, so instead of repeating everything here, I'll get straight to my biased and maybe uninformed opinions.
Compositing WM's I have almost definitely used and didn't even realize it before writing this post: KWin, Metacity/Mutter, Xfwm.
WM's I have an interest in using in the short or near term future: i3 and/or Sway.
WM's I have no interest in, but that seem popular: awesome, Blackbox, dwm, Fluxbox, IceWM, and Openbox.
That about wraps it up for me. I hope you enjoyed this as much as I have, and I hope it was helpful in your Linux journey. There may be a way to comment on this post, so feel free to leave me love or hate down below.
Catch ya on the flip side...