Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question

3 Answers 3

up vote 16 down vote accepted

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.

share|improve this answer
    
This is a really great and simple answer +1. However, can the Xorg server be changed or is it a linux standard? Also, I've never heard of GTK+ or Metacity in a KDE environment -- are they Gnome specific? –  MaxMackie May 31 '11 at 23:48
2  
Xorg is simply one implementation of X11; it just happens to be the most popular FOSS implementation. KDE specifies that Qt is used as its widget toolkit, so it is not possible for a KDE app to use GTK+ since it will then no longer be a KDE app. It is possible to use Metacity under KDE (the window manager is rarely part of the DE specification, just a sane default), but most of the reason for people using KDE in the first place is due to its configurability, and Metacity is the very antithesis of configurability. –  Ignacio Vazquez-Abrams May 31 '11 at 23:54
    
One more question, and thanks for the info up to this point. Do window managers play a part in dual-screen compatibility? I'm about to switch from KDE to a lightweight solution (blackbox/openbox, that area) and I'm wondering if these even effect dual-screens or that kind of stuff. –  MaxMackie May 31 '11 at 23:57
    
They shouldn't, but some may provide additional features under multi-monitor situations (snap to screen edge, send to screen, etc.). –  Ignacio Vazquez-Abrams Jun 1 '11 at 0:00
    
Perfect, thank you Ignacio –  MaxMackie Jun 1 '11 at 0:02

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.

share|improve this answer
    
+1 for mentioning that they can be interchanged –  MaxMackie May 31 '11 at 23:48

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.

share|improve this answer

Your Answer

 
discard

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.