26

I'm confused as to what these terms actually mean AND as to what they do/how they contribute to the system as a whole. In particular, back when I was running Ubuntu, there were several keywords like:

Gnome 
X11 
Xorg 
Metacity 
GTK+

What exactly is the difference between all of these? Which can be changed? Do the same things apply when we're talking about KDE or LXDE?

EDIT: Also, do things like Compiz work in every window manager/window system/desktop environment?

nopcorn
  • 16,982

3 Answers3

31

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.

4

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.

new123456
  • 4,833
4

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.