Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I use debian wheezy xfce and want to set up my desktop. But I read some settings are redundant. Hence I want to understand how everything works, but I am massively lost. Can someone please sort, complete and entitle the following list and explain me what uses what?

KDE, Gnome, XFCE, X11, dgm, kdm, GTK(x), Sessions, lxdm, lightdm, compiz, Kwin, window- and desktopmanager... etc

Always when I think I understood it I find new expressions I never heard before. Okay heres what I know. Gnome, KDE, XFCE are Desktops. They are on top of the stack. X11 is a library that displays something and makes use of the graphic driver, hence I think it is at the bottom of the stack. (But above the graphic driver)...

share|improve this question
"But I read some settings are redundant and not all are unique." Isn't that redundant? – Rob Nov 17 '12 at 13:54
okay okay youre right;) – ManuelSchneid3r Nov 17 '12 at 20:05
up vote 10 down vote accepted
  • X11 - a windowing protocol (network transparent by the way) and its implementation (the X server and low level libraries for accessing it). Handles "only" basic input (keyboard, mouse,...) and output (drawing rectangles), but does it in a rather abstract fashion, so that you can run a program on one machine and control it from another one, subscribe to various events etc. There is actually only one usable open-source implementation, namely by the X.org Foundation.

  • Qt, GTK, Motif, ... - originally widget libraries, which provide higher level abstraction above the X11 libraries (e.g. creating dialogs, buttons and other graphical elements). However, for example Qt goes way beyond that and has interfaces for a lot of other things as well (databases, multimedia, ...). It also allows for unified design of UI. Similar to what Swing is in Java.

  • lxdm, lightdm, gdm, kdm, xdm, ...- display managers: specialized programs that display login screen (some can do it over network as well) and let the user login into his/her preferred desktop environment session.

  • compiz, kwin, metacity, xfwm, openbox, ... - window managers: programs supplying basic window environment functionality like drawing decorations to widows (title text and buttons), resizing, moving windows, moving these in the window stack (raising/lowering or tiling them on the screen). They sometimes also handle the "desktop" (background and icons placed on it) as well.

  • KDE, Gnome, XFCE, LXDE,... - desktop environments: more or less complete sets of tools. They usually include a window manager, display manager, some sort of "panel" (the thing, where icons, list of currently opened windows, clock, and other stuff is displayed), file manager, multimedia viewer, editor and "goodies" like calendar/reminder, and various desktop extensions)

You can (to some degree) mix applications from different DEs (display managers work fine since they are rather stand-alone however, especially kdm and gdm they pull in a lot of dependencies that their lighter-weight counterparts). The main trouble with mixing apps is that their settings are often intertwined with the DE, and thus may require some services to be running (which are not under the other DE). The look and feel might also be different when another toolkit (e.g. Qt vs. GTK) is used. And that's the redundancy - multiple applications serving the same purpose have their separate and in some sense redundant options.

share|improve this answer
Thanks a ton. Great explanation. Can I somehow switch between each in a group, or am I fixed with my distribution? I ask because I liked Gnome2. Hence I want to switch to Mate. – ManuelSchneid3r Nov 17 '12 at 20:03
Sometimes different pieces of this stack are easily interchangeable, more often they're not. Usually when they're not easily interchangeable, you can with a lot of sweat and frustration make different pieces fit together. Usually it won't be worth the pain it cost. (Though it might be worth the knowledge you gain in the doing.) – dubiousjim Nov 17 '12 at 20:23
@DevNoob if you liked Gnome2 you should probably give Cinnamon a try. XFCE might also be an interesting alternative (and it is less resource hungry). – peterph Nov 17 '12 at 20:42
I am on awesome wm now and I like it. Atm I use it mainly raw. But if I have more time I will make it my own. I need a lot of time to read how to form a correct fundament for awesome. There are a lot of questions left: Arch or Debian and the selection of the common apps such as file-browser, settings, etc... Currently Im on Ubuntu 12.04 and it is definitively not a good fundment. – ManuelSchneid3r Mar 16 '13 at 11:25

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.