26

I am taking the Linux Foundation's Introduction to Linux course. Some of the terminology seems to overlap or contradict, especially when I try to supplement the course material with other sources, such as TLDP and Wikipedia.

Is a "Display Manager" the same thing as a "Session Manager"?

Display manager: Program that initiates a windowing system session by launching the windowing system and usually asking for a username and password.

Session manager: Starts and maintains the components of the graphical session.

Likewise, is a "Windowing system" the same thing as a "Window manager"?

Windowing system: Software which provides the key elements of the GUI for high-level software to use. Provides applications with a (usually) rectangular, resizeable surface to present its GUI to the user.

Window manager: Controls the placement and movement of windows, window chrome, and controls.

And just to be sure about X: From what I gather it seems that "X Window System" is a windowing system for bitmap displays, "X11" is the current protocol version for the X Window System, and "X.Org Server" is the reference implementation of the X11 protocol. Is that correct?

3
  • Even in those threads, there is confusion and contradition. For example in the SuperUser thread, Ignacio Vazquez-Abrams mentions: "X11 is a network protocol", yet user113907 mentions: "X11 is the window system (the thing that draws the windows on the screen)".
    – dotancohen
    Sep 20, 2014 at 12:49
  • Thanks. I'll start throwing some bounties around for comprehensive answers. I need to wait two days if I put the bounty on this one.
    – dotancohen
    Sep 20, 2014 at 13:24
  • 1

4 Answers 4

14

Here's a very short rough characterization:

Display manager: The program that provides you a graphical login and then starts your session. Runs as root or dedicated user.

Session manager: The program that actually controls your session. Runs under your account.

Windowing system: The complete GUI drawing/control system. Describes not a component in itself, but all components together.

Window manager: The program that determines where windows are placed, what decorations (frame, close/iconify/menu buttons, etc.) they get and how they get/lose focus.

1
  • So a Desktop Enviroment requires all this?
    – gog
    Jan 20, 2016 at 15:19
14
+500

A windowing system is a software component that provides windows for applications to draw in and can display these windows on the screen. The X Window System is the standard windowing system on Unix systems; outside Mac OS X, it doesn't really have competition (this may change if Wayland or Mir become viable). The X Window System has a client-server architecture, where the server (known as an X server or X11 server) manages the display hardware and clients are applications. Applications that display windows on an X server are known as X clients or X applications (or X11 clients or X11 applications).

As far as applications are concerned, what matters is the communication protocol between applications and the windowing system. This protocol is known as X11 (11th version of the protocol, the current version since 1987), with several common extensions.

X.Org is an implementation of the X Window System. It has been the de facto standard implementation since the project started in 2004, taking over from XFree86. X.Org includes both generic and hardware-specific parts of the X server as well as a number of client libraries and utilities.

A display manager is an X11 application whose purpose is to authenticate a user (typically by prompting for a user name and password) and, upon successful authentication, to start a session as that user. The display manager runs as root (at least in part) and terminates or at least leaves the foreground while a user is logged in. The display manager takes care of starting an X server which serves both the login prompt and the subsequent user session.

A session manager is a program whose job is to start other programs. It's the first program started as part of a user's interactive session. It can be started by the display manager (after it has dropped privileges). It can also be started by some program running as the user if the user has logged in by some means other than a display manager, typically with a text mode login prompt; this is usually done via the startx script which takes care of starting an X server, running the session manager, and killing the X server when done. The session manager can be anything from a simple terminal emulator in which the user can type commands, to a script that starts several predefined programs, to a sophisticated program that remembers applications and window positions from one session to the next. The session ends when the session manager exits.

A window manager is an X client with a special role. It receives notifications when new windows are created and typically traps a number of user events (key and mouse bindings). Its job is to choose where to display windows and at what size, to show and hide windows, to display window decorations (borders, title bar, …), etc. Pretty much every window manager can serve as a session manager — the window manager has to run for the whole session anyway. Most window managers offer a way for users to start new programs via menus or key bindings, though strictly speaking this isn't part of the window manager role.

Another term you didn't mention is a desktop environment. A desktop environment is a collection of X clients that comprises at least a session manager, a window manager and a graphical shell, as well as a collection of utilities such as menus, docks, clipboard manager, macro facility, etc.

2
  • Can you have a WM without a DE? Is a DE a WM with some essential extras? What aspects create the differentiation?
    – Vass
    Dec 18, 2014 at 13:33
  • @Vass A WM is one of the components of a DE. See the last paragraph of my answer and follow the links for more information. Dec 18, 2014 at 15:09
10

Is a "Display Manager" the same thing as a "Session Manager"?

Not quite, but they often overlap in implementation.

A Display Manager just logs the user in and start a session, which consists of all the programs that run from the moment you log in to when you log out from the computer again. Commonly the display manager will start a Desktop Environment and often also a Session Manager for the user.

A Desktop Environment consists mainly of a Window Manager but it also encompasses many other programs that the user expects on a desktop computer, for example the GNOME desktop environment has a web browser called Web and a file manager called Files (formerly known as Nautilus).

A Session Manager on the other hand is responsible for storing the currently running applications when the user logs out, starting them again when the user logs in again and automatically starting a set of programs and background daemons for a Desktop Environment. For instance, when you log out it might save that you were running Chromium and then start it again when you log in, or automatically start things like the GNOME Keyring which can store passwords and keys for various programs.

So you can have a Display Manager without a Session Manager, likewise can you have a Session Manager without a Display Manager, or both at the same timer, or even neither of them. ‏

Likewise, is a "Windowing system" the same thing as a "Window manager"?

No, they're quite different but understandably easy to confuse terms. X Window System is a Windowing System which consists of an X server, the X11 protocol and X clients that talks to the server. (Clients are the programs your run on your computer.)

In the X Window System you have X clients that speak to a running instance of the X Server using the X11 protocol. The X clients sends messages to the X server that tells it what to draw on the screen, and the X server is what actually talks to graphics card and displays what it was told to draw on the screen.

It's important to note that the X Window System itself doesn't manage windows. The Window Manager that is started when you log in tells the X server where the windows are on the screen, draws window decorations like borders and a title bar, and is what lets you move windows around on the screen, close them, et.c.. Without a Window Manager running all you see is the X clients you start without any window decorations and you won't be able to move the windows around.

The X Window System reference implementation server is the X.Org Server, some examples of Window Managers are KDE's KWin, GNOME's Mutter, and tiling Window Managers like i3 and dwm. X clients include things like web browsers (like Chromium and Firefox), mail clients (like Thunderbird), Terminal Emulators (like GNOME Terminal and termite), and every other X application you can think of.

And just to be sure about X: From what I gather it seems that "X Window System" is a windowing system for bitmap displays, "X11" is the current protocol version for the X Window System, and "X.Org Server" is the reference implementation of the X11 protocol. Is that correct?

Correct.


Quoting the X Window System's default desktop manager XDM's manpage:

Xdm provides services similar to those provided by init, getty and login on character terminals: prompting for login name and password, authenticating the user, and running a ‘‘session.’’

A ‘‘session’’ is defined by the lifetime of a particular process; in the traditional character-based terminal world, it is the user’s login shell. In the xdm context, it is an arbitrary session manager. … When a real session manager is not available, a window manager or terminal emulator is typically used as the ‘‘session manager,’’ meaning that termination of this process terminates the user’s session.

-- XDM(1)

4
  • Clarification: Your "Correct." in the last paragraph is referring to the second question in the quote it's under, not the first, right?
    – Izkata
    Sep 20, 2014 at 20:40
  • Ah, yeah, didn't even think about that. Will change it.
    – remmy
    Sep 20, 2014 at 20:59
  • You can have multiple windows without a window manager. They won't have any decorations, you won't be able to drag them around or resize them, etc. But they'll still all be on the screen in the configuration you give them when you create them.
    – Barmar
    Sep 24, 2014 at 20:38
  • @Barmar Ah thanks, never run multiple X applications without a WM before, but I guess it wouldn't make much sense if you could only have one running.
    – remmy
    Sep 24, 2014 at 20:53
9
Is a "Display Manager" the same thing as a "Session Manager"?

Answer: No they are not the same. The session managermanages your session, and the display manager is responsible for providing you with a login interface.

Likewise, is a "Windowing system" the same thing as a "Window manager"?

Answer: No they are different. The window mangager sits on top of the Window system.

The Window system: Each currently running application is assigned a usually resizeable and usually rectangular shaped surface of the display to present its graphical user interface to the user; these windows may overlap each other, as opposed to a tiling interface where they are not allowed to overlap.

The window manager: When a window manager is running, some kinds of interaction between the X server and its clients are redirected through the window manager. In particular, whenever an attempt to show a new window is made, this request is redirected to the window manager, which decides the initial position of the window


Session Manager source

In the X Window System, an X session manager is a session management program, a program that can save and restore the current state of a set of running applications.


X window manager source

An X window manager is a window manager which runs on top of the X Window System, a windowing system mainly used on Unix-like systems.

Types of window managers

  1. Stacking window managers
  2. Tiling window managers
  3. Compositing window managers
  4. Virtual window managers
  5. Window managers that are extensible

The user can choose between various third-party window managers, which differ from one another in several ways, including:

customizability of appearance and functionality:

  • textual menus used to start programs and/or change options

  • docks and other graphical ways to start programs

  • multiple desktops and virtual desktops (desktops larger than the physical monitor size), and pagers1 to switch between them

  • consumption of memory and other system resources

  • degree of integration with a desktop environment, which provides a more complete interface to the operating system, and provides a range of integrated utilities and applications.

While the main aim of a window manager is to manage the windows, many window managers have additional features such as handling mouse clicks in the root window, presenting panes and other visual elements, handling some keystrokes (e.g., Alt-F4 may close a window), deciding which application to run at start-up, etc.


Display manager source (there is a list of display managers in the source website)

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. There are various implementations of display managers, just as there are various types of window managers and desktop environments. There is usually a certain amount of customization and themeability available with each one.

X display manager source

In the X Window System, an X display manager runs as a program that allows the starting of a session on an X server from the same or another computer.

A display manager presents the user with a login screen which prompts for a username and password. A session starts when the user successfully enters a valid combination of username and password.


The X window system source

Debian manual for x window system

xorg site

The X Window System (X11, X, and sometimes informally X-Windows) is a windowing system for bitmap displays, common on UNIX-like computer operating systems.

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .