I am trying to understand the different subsystems that are in charge of the user interface, the terminology to refer to them, and how they are structured; so far I know there are:
At the top level:
desktops? (kde, gnome, etc)
Then we have:
- a display manager (also called desktop manager or desktop environment)
- window manager
- anything else?
I'm making this a community wiki, I'd like this to be a central place for *all there is to know (from the user perspective) regarding user interface subsystems in Linux; what I would like to know is what are the components of each, and what are the responsibilities of each, i.e. I would like to know things like:
- what exactly is in charge of the global shortcut keys, when I open up the "run application" dialog, who is doing that, when I press a key to show the desktop, run a terminal, maximize a window, etc, who is capturing that and sending it over to the right window;
- who is in charge of drawing the desktop, the workspaces, etc.
- what are the environment variables that can give me information regarding these components
- Is the "main menu" a subsystem, or a component of a subsystem?
It would also be nice to compile a list of the most popular desktops/subsystems, which ones run under each, can you mix and match desktops/desktop environments/window managers, etc?
Finally, how do I tell which desktop/subsystems are actually running (active?) on the system, can different users have a different subsystem each?