KDE, GNOME, XFCE, Unity, ad-nauseum... Can a GUI app run in X without any of these?

This upcoming Ubuntu move to Unity as its Desktop Manager, got me wondering where the modular line lies between a Desktop Manager and X.

My understanding is that X is a window manager, and window = GUI.

Is the Desktop actually needed at all, to run GUI apps?
eg. Can X exist without a Desktop Manager, and can GUI apps be launched from the terminal running in X (which may have to be auto-started with X)...

I can launch a GUI app from the terminal now (Gnome desktop), but I don't know if that is based on a dependancy to the Desktop.

I may be completely on the wrong track here... but that's what questions are for ;)


Solution 1:

X is a service that listens to requests from its clients (= applications) to paint windows and also passes on input device events to those applications. One of these applications is the window manager (e.g. in case of GNOME that's Metacity or Compiz).

And a desktop environment like GNOME, etc. is actually a collection of applications that are meant to be used together to provide a more or less comfortable user experience; usually it includes a window manager, a session manager, some sort of application launcher, etc.

And yes, it's possible to start any GUI application (if it is an X client of course) on a bare X, but e.g. without a window manager all windows will have no frame (no border, no titlebar) and are put in the same position by default (the upper left corner). X itself is rather "dumb" when it comes to such things...