Display manager: Difference between revisions

From Alpine Linux
(fixed broken links)
(1. Added passage describing display managers as a subset of login managers, and elaborated on the latter; indicated not to mistake Greetd greeters as login managers; 2. Amended listings for both of these types of login managers, as agetty and greetd should not be listed as display managers; 3. Added getty as console login manager; 4. Added 'Configuration' section: 'PAM'; 5. Added 'See also' section: Elogind, Seatd, PAM, Setup-desktop, Getty howto; 6. Style/grammar amendments.)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
A [https://en.wikipedia.org/wiki/X_display_manager Display manager] presents the user with a login screen. A session starts when a user successfully enters a valid combination of username and password. It is typically a graphical user interface that is displayed at the end of the boot process in place of the default shell.
A [https://en.wikipedia.org/wiki/X_display_manager ''display manager (DM)''] presents the user with a login screen. A session starts when a user successfully enters a valid combination of username and password. It is typically a graphical user interface that is displayed at the end of the boot process in place of the default shell.


== List of Display Managers ==
A ''basic login manager'' only handles basic console authentication:  a prompt for username and password.  This is what Alpine Linux displays when it is first run — the ''getty'' basic login manager, launched by inittab. 
 
A ''full login manager'' would additionally provide:-
* Session type detection ({{ic|XDG_SESSION_TYPE}}) and automatic [[XDG_RUNTIME_DIR]] setup, possibly through '''elogind'''/'''seatd''' session managers (requires [[#PAM|PAM]] when using '''elogind''').
* A desktop environment selection for the session.
* Optional PAM integration - [[Display_manager#PAM|see PAM section below]].
* A graphical greeter may optionally be included.
 
''Display managers'' are a subset of full login managers that offer further features:-
* A graphical user interface (GUI) greeter, possibly with a choice of themes.
* Autologin, guest sessions and/or fast user switching.
* Wayland/X11 display server control.
* Remote login facility e.g. a [[Remote Desktop Server]] or the X-display manager's XDMCP protocol.
 
There also exist [[Greetd]] ''greeters'':  user interface (UI) frontends (not to be mistaken for actual login managers) that run under the [[Greetd]] daemon login manager:-
* {{Pkg|greetd-agreety}} - Simple, text-based greeter (console UI).
* {{Pkg|greetd-tuigreet}} - A graphical, text-based user interface (TUI) console greeter for Greetd.
 
== List of Display Managers (Graphical Login Managers) ==


=== Graphical ===
* [https://gitlab.gnome.org/GNOME/gdm GDM] ({{Pkg|gdm}}): [[GNOME]] display manager
* [https://gitlab.gnome.org/GNOME/gdm GDM] ({{Pkg|gdm}}): [[GNOME]] display manager
* [https://github.com/canonical/lightdm LightDM] ({{Pkg|lightdm}}): Cross-desktop display manager
* [https://github.com/canonical/lightdm LightDM] ({{Pkg|lightdm}}): Cross-desktop display manager
Line 10: Line 27:
* [[LXDM]] ({{Pkg|lxdm}}): A lightweight desktop login manager
* [[LXDM]] ({{Pkg|lxdm}}): A lightweight desktop login manager
* [[SLiM]] ({{Pkg|slim}}): Desktop-independent graphical login manager for X11 (abandoned since 2013)
* [[SLiM]] ({{Pkg|slim}}): Desktop-independent graphical login manager for X11 (abandoned since 2013)
== List of Non-Graphical or Daemon-Based Login Managers ==


=== Console ===
=== Console ===
* [[TTY_Autologin|Agetty]] ({{Pkg|agetty}}): Console based login manager
 
* [https://linuxvox.com/blog/linux-getty/ Getty login] - Part of the {{Pkg|util-linux}} package
* [[TTY_Autologin|Agetty]] ({{Pkg|agetty}}): Console-based login manager


=== Daemon ===
=== Daemon ===
* [[greetd|Greetd]] ({{Pkg|greetd}}): Desktop independent lightweight login manager daemon
 
* [[greetd|Greetd]] ({{Pkg|greetd}}): Desktop-independent, lightweight login manager daemon
 
== Configuration ==
 
=== PAM ===
{{Main|PAM}}
 
PAM provides improved security, but it is not mandatory.  It is recommended for advanced features, such as [[Configure OpenLDAP|LDAP]], 2-factor-authentification (2FA)/multi-factor-authentification (MFA) and session setup via [[elogind]].
Most login managers – including display managers – on Alpine Linux do not use PAM by default, in keeping with the operating system's minimalistic goal;  those login managers would require manual setup of PAM: 
 
* Basic login managers, such as '''getty''' or '''login''', authenticate directly with {{Path|/etc/passwd}} and {{Path|/etc/shadow}}.
* Display managers such as '''lightdm''', '''sddm''', plus the '''greetd''' login manager, support PAM, but they would need PAM to be installed and configured.
 
See Alpine Linux's [[PAM]] wiki page for further information.
 
== See also ==
 
* [[Elogind]] - Session and seat management integration.
* [[Seatd]] - An alternative to '''elogind''' for session and seat management.
* [[PAM]] - For advanced authentication and session configuration.
* [[Setup-desktop]] - Set up desktops and display managers automatically.
* [https://tldp.org/HOWTO/Text-Terminal-HOWTO-15.html Getty howto] - From the Linux Documentation Project ([https://tldp.org tldp.org]).


[[Category:Display Managers]]
[[Category:Display Managers]]
[[Category:Desktop]]

Latest revision as of 04:47, 15 February 2026

A display manager (DM) presents the user with a login screen. A session starts when a user successfully enters a valid combination of username and password. It is typically a graphical user interface that is displayed at the end of the boot process in place of the default shell.

A basic login manager only handles basic console authentication: a prompt for username and password. This is what Alpine Linux displays when it is first run — the getty basic login manager, launched by inittab.

A full login manager would additionally provide:-

  • Session type detection (XDG_SESSION_TYPE) and automatic XDG_RUNTIME_DIR setup, possibly through elogind/seatd session managers (requires PAM when using elogind).
  • A desktop environment selection for the session.
  • Optional PAM integration - see PAM section below.
  • A graphical greeter may optionally be included.

Display managers are a subset of full login managers that offer further features:-

  • A graphical user interface (GUI) greeter, possibly with a choice of themes.
  • Autologin, guest sessions and/or fast user switching.
  • Wayland/X11 display server control.
  • Remote login facility e.g. a Remote Desktop Server or the X-display manager's XDMCP protocol.

There also exist Greetd greeters: user interface (UI) frontends (not to be mistaken for actual login managers) that run under the Greetd daemon login manager:-

  • greetd-agreety - Simple, text-based greeter (console UI).
  • greetd-tuigreet - A graphical, text-based user interface (TUI) console greeter for Greetd.

List of Display Managers (Graphical Login Managers)

  • GDM (gdm): GNOME display manager
  • LightDM (lightdm): Cross-desktop display manager
  • SDDM (sddm): Simple Desktop Display Manager. Recommended for KDE (Plasma) and LXQt.
  • XDM (xdm): X Display Manager
  • LXDM (lxdm): A lightweight desktop login manager
  • SLiM (slim): Desktop-independent graphical login manager for X11 (abandoned since 2013)

List of Non-Graphical or Daemon-Based Login Managers

Console

Daemon

  • Greetd (greetd): Desktop-independent, lightweight login manager daemon

Configuration

PAM

PAM provides improved security, but it is not mandatory. It is recommended for advanced features, such as LDAP, 2-factor-authentification (2FA)/multi-factor-authentification (MFA) and session setup via elogind.

Most login managers – including display managers – on Alpine Linux do not use PAM by default, in keeping with the operating system's minimalistic goal; those login managers would require manual setup of PAM:

  • Basic login managers, such as getty or login, authenticate directly with /etc/passwd and /etc/shadow.
  • Display managers such as lightdm, sddm, plus the greetd login manager, support PAM, but they would need PAM to be installed and configured.

See Alpine Linux's PAM wiki page for further information.

See also

  • Elogind - Session and seat management integration.
  • Seatd - An alternative to elogind for session and seat management.
  • PAM - For advanced authentication and session configuration.
  • Setup-desktop - Set up desktops and display managers automatically.
  • Getty howto - From the Linux Documentation Project (tldp.org).