Window Manager vs. Desktop Environment vs. Window System? What's the difference?

X11 is a network protocol. It encodes things such as graphic primitives, images, pointer motion, and key presses.

Xorg is an X server. It implements X11 and provides an interface to keyboards, mice, and video cards.

GTK+ is a widget toolkit. It provides things such as buttons, scrollbars, edit boxes, etc.

Metacity and Compiz are window managers. They decorate X window primitives and support various operations such as moving, resizing, and maximizing of windows.

GNOME, KDE, and LXDE are desktop environments. They provide libraries and specifications that applications use and follow in order to "play nice" with other applications.


Here are the terms defined, along with some Ubuntu-centric examples.

  • Window Manager: Takes the requests of windows and puts them where they need to go. Does things like titlebars, menus, etc. Example: Metacity

  • Desktop Environment: A superset of Window Managers that add things like panels, backgrounds, and other niceties. Example: GNOME

  • Windowing System: The actual low-level software that allows for things like windows to even exist in the first place, and draws them on the screen. Example: Xorg

In general, you may also be interested to know that the window manager and desktop environment are what the user interacts with. You don't directly touch (unless you are in a recovery shell) the windowing system.

Note also that these things can be modular to respect with another. For example, you can use any window manager on Xorg, and any desktop environment on top of any window manager.


GNOME is a desktop environment (it handles the desktop icons and panels).

Metacity is one of GNOME's window managers (it keeps windows organized).

GTK+ is GNOME's widget toolkit (it draws the buttons and checkboxes).

X11 is the window system (the thing that draws the windows on the screen).

Xorg is an open-source implementation of X11 (usually synonymous with X11).

Compiz is a window manager and desktop compositor (a desktop compositor is a program that renders special effects, such as a desktop cube, on your screen).

You can run Compiz in GNOME, KDE, and Unity at least. Just get the CCSM package by entering this into the terminal:

$ sudo apt-get install ccsm
$ ccsm

(Don't enter the dollar sign and the space after it; these just mean that you are not logged in as root.) In CCSM (Compiz Config Settings Manager), turn on and configure whatever desktop effects you want. Be careful! You may lose the titlebars in GNOME and UNITY. If that happens, press Ctrl-Alt-F1 and then type in:

$ top

Look under the PID column and note the number on the xorg entry. Then enter:

$ sudo kill pid

The login screen should appear immediately. Log in again and avoid making the mistake your did last time. Sorry for the long discourse.