3

I need some clear explanations on the following questions.

  1. What is Desktop Environment?
  2. What is Desktop Manager?
  3. What is Display Manager?
  4. What is X window system, server, X11 and Xorg?
  5. What is the relation between the above, which runs/depends on which?
  6. How can I check what Desktop Manager and Display Manager I am using in Raspbian?

Thank you in advance!

Rui F Ribeiro
  • 55,929
  • 26
  • 146
  • 227
CuriousGuy
  • 635
  • 2
  • 7
  • 15

1 Answers1

6
  1. What is Desktop Environment?

A desktop environment bundles together a variety of components to provide common graphical user interface elements such as icons, toolbars, wallpapers, and desktop widgets. Additionally, most desktop environments include a set of integrated applications and utilities.

  1. What is Desktop Manager?

A window manager (WM) is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface (GUI). It can be part of a desktop environment (DE) or be used standalone.

  1. What is Display Manager?

A display manager, or login manager, is typically a graphical user interface that is displayed at the end of the boot process in place of the default shell

  1. What is X window system, server, X11 and Xorg?

X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting with a mouse and keyboard. X does not mandate the user interface — this is handled by individual programs. As such, the visual styling of X-based environments varies greatly; different programs may present radically different interfaces.

  1. What is the relation between the above, which runs/depends on which?
display manager > X > desktop

Display manager needs to run first, as it needs to perform an authentication check (login), i.e. if authentication fails then the rest of the desktop systems will not be displayed. Then X runs, and spawns the desktop environment as child processes.

  1. How can I check what Desktop Manager and Display Manager I am using in Raspbian?

Try checking the settings in

/etc/X11/default-display-manager
the_velour_fog
  • 11,840
  • 16
  • 64
  • 109
  • 2
    display manager is 1) **not a login manager** - while it does log one in, it doesn't keep track of all sessions itself - typically it cannot handle logins on consoles or over network (unless you consider [XDMCP](https://en.wikipedia.org/wiki/X_display_manager_(program_type)), 2) **only typically** displayed at the end of the boot process and most of the time not in place of the *default shell* but a *text console login*. – peterph Dec 19 '15 at 11:15
  • 1
    In addition, X *doesn't need* a DM. On the contrary - a display manager uses X server to display itself. Although the display manager usually spawns the X server, it is the former who can't work without the latter. Also see `startx` (which is not used much these days). – peterph Dec 19 '15 at 11:16
  • ok points taken, but the question is about desktops - where do console logins come into it? – the_velour_fog Dec 19 '15 at 11:21
  • 2
    At the point where the statements *"display manager is a login manager"* and *"in place of a default shell"* turn out to be wrong - mention of consoles just gives a bit more context. :) By the way, you very appropriately used *"DM is **displayed** instead of (console login)"* - the console logins are actually running as well (usually), but it is the terminal which is running graphical UI (X, wayland...) that is active (in the sense *"displayed and processing input"*). It can very easily be changed by calling `chvt` (or via keyboard [Ctrl+]Alt+F*x*). – peterph Dec 19 '15 at 11:31
  • hmm thats pretty much my understanding too - I know I didn't mention that directly in My answer but I don't see any part where I contradicted that fact. what phrasing would you suggest instead of *"display manager is a login manager" and "in place of a default shell"*? – the_velour_fog Dec 19 '15 at 11:44
  • What really happens - don't be afraid to give some more context. Display manager often calls login manager (somehow, I *suppose* it happens when a desktop environment session is initialised, so it actually needs not to be the task of the DM itself). And the text consoles are just running alongside the DM. And not the shell itself, that is spawned only after one logs in. – peterph Dec 19 '15 at 11:52
  • I can understand that the relationships back and forward are crazy complex, but on my Ubuntu machine If I follow the processes it starts with `PID1` (obviously), PID1/init is the parent to `lightdm` (and also all the tty's, i.e. tty's are siblings to lightdm ) lightdm is parent to `/usr/bin/X` and pretty much everything that is part of the desktop graphical environment , gnome, libraries etc – the_velour_fog Dec 19 '15 at 12:06
  • Yes the parent-child relationship is as you mention, however my point was, that DM cannot work without an X server while the opposite is certainly true. You may also want to have a look at the process tree before you log into an X session - depending on the particular DM in use, there might be a separate greeter application running. – peterph Dec 19 '15 at 19:21