In the
X Window System
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wit ...
, an X display manager is a graphical
login manager A login manager is a login system for Unix and Unix-like operating systems. It comprises a login Daemon (computing), daemon, a login user interface, and a system for tracking login sessions. When a User (computing), user tries to log in, the login m ...
which starts a
login session
In computing, a login session is the period of activity between a user logging in and logging out of a (multi-user) system.
On Unix and Unix-like operating systems, a login session takes one of two main forms:
* When a textual user interface i ...
on an
X server from the same or another
computer
A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as C ...
.
A display manager presents the user with a
login screen. A session starts when a user successfully enters a valid combination of
username
A user is a person who utilizes a computer or network service.
A user often has a user account and is identified to the system by a username (or user name). Other terms for username include login name, screenname (or screen name), accoun ...
and
password
A password, sometimes called a passcode (for example in Apple devices), is secret data, typically a string of characters, usually used to confirm a user's identity. Traditionally, passwords were expected to be memorized, but the large number of ...
.
When the display manager runs on the user's computer, it starts the X server before presenting the user the login screen, optionally repeating when the user logs out. In this condition, the DM realizes in the X Window System the functionality of and on
character-mode terminals. When the display manager runs on a remote computer, it acts like a
telnet
Telnet is an application protocol used on the Internet or local area network to provide a bidirectional interactive text-oriented communication facility using a virtual terminal connection. User data is interspersed in-band with Telnet control i ...
server, requesting username and password and starting a remote session.
X11 Release 3 introduced display managers in October 1988 with the aim of supporting the standalone
X terminal
In computing, an X terminal is a display/input terminal for X Window System client applications. X terminals enjoyed a period of popularity in the early 1990s when they offered a lower total cost of ownership alternative to a full Unix workstat ...
s, just coming onto the market. Various display managers continue in routine use to provide a graphical login prompt on standalone
computer workstation
A workstation is a special computer designed for technical or scientific applications. Intended primarily to be used by a single user, they are commonly connected to a local area network and run multi-user operating systems. The term ''workstat ...
s running X. X11R4 introduced the X Display Manager Control Protocol (XDMCP) in December 1989 to fix problems in the X11R3 implementation.
History
XDM (the X Window Display Manager) originated in X11R3. This first version, written by
Keith Packard
Keith Packard (born April 16, 1963) is a software developer, best known for his work on the X Window System.
Packard is responsible for many X extensions and technical papers on X. He has been heavily involved in the development of X since the l ...
of the MIT X Consortium, had several limitations, the most notable of which was that it could not detect when users switched X terminals off and on. In X11R3, XDM only knew about an X terminal from its entry in the file, but XDM only consulted this file when it started. Thus every time a user switched a terminal off and on, the
system administrator
A system administrator, or sysadmin, or admin is a person who is responsible for the upkeep, configuration, and reliable operation of computer systems, especially multi-user computers, such as servers. The system administrator seeks to ensu ...
had to send a
SIGHUP On POSIX-compliant platforms, SIGHUP ("signal hang up") is a signal sent to a process when its controlling terminal is closed. It was originally designed to notify the process of a serial line drop. SIGHUP is a symbolic constant defined in the h ...
signal
In signal processing, a signal is a function that conveys information about a phenomenon. Any quantity that can vary over space or time can be used as a signal to share messages between observers. The ''IEEE Transactions on Signal Processing'' ...
to XDM to instruct it to rescan .
XDMCP arrived with the introduction of X11R4 (December 1989). With XDMCP, the X server must actively request a display manager connection from the host. An X server using XDMCP therefore no longer requires an entry in .
Local and remote display management
A display manager can run on the same computer where the user sits—starting one or more X servers, displaying the login screen at the beginning and (optionally) every time the user logs out—or on a remote one, working according to the XDMCP protocol.
The XDMCP protocol mandates that the X server starts autonomously and connects to the display manager. In the X Window System paradigm, the server runs on the computer providing the display and input devices. A server can connect, using the XDMCP protocol, to a display manager running on another computer, requesting it to start the session. In this case, the X server acts as a graphical
telnet
Telnet is an application protocol used on the Internet or local area network to provide a bidirectional interactive text-oriented communication facility using a virtual terminal connection. User data is interspersed in-band with Telnet control i ...
client while the display manager acts like a telnet server: users start programs from the computer running the display manager, while their input and output take place on the computer where the server (and the user) sits.
An administrator can typically configure an XDMCP Chooser program running on the local computer or X terminal to connect to a specific host's X display manager or to display a list of suitable hosts that the user can choose from. Most implementations enable such a list to contain:
# a predefined set of hosts and their respective network addresses, and/or
# a set of hosts (on the local
TCP/IP
The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the set of communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suit ...
subnet
A subnetwork or subnet is a logical subdivision of an IP network. Updated by RFC 6918. The practice of dividing a network into two or more networks is called subnetting.
Computers that belong to the same subnet are addressed with an identical ...
) that the XDMCP Chooser determines by a
network broadcast to the available display managers.
When the user selects a host from the list, the XDMCP Chooser running on the local machine will send a message to the selected remote computer's display manager and instruct it to connect the X server on the local computer or terminal.
X Display Manager Control Protocol
The X Display Manager Control Protocol (XDMCP) uses
UDP port
A port is a maritime facility comprising one or more wharves or loading areas, where ships load and discharge cargo and passengers. Although usually situated on a sea coast or estuary, ports can also be found far inland, such as Ham ...
177. An X server requests that a display manager start a session by sending a
Query
packet. If the display manager allows access for that X server, it responds by sending a
Willing
packet back to the X server. (The X server can also send
BroadcastQuery
or
IndirectQuery
packets to start a session - this mechanism for requesting a session resembles using
DHCP
The Dynamic Host Configuration Protocol (DHCP) is a network management protocol used on Internet Protocol (IP) networks for automatically assigning IP addresses and other communication parameters to devices connected to the network using a cli ...
to request an IP address.)
The display manager must authenticate itself to the server. To do this the X server sends a
Request
packet to the display manager, which returns an
Accept
packet. If the
Accept
packet contains the response the X server expects, the display manager is authenticated. Producing the correct response might require the display manager to have access to a
secret key
A key in cryptography is a piece of information, usually a string of numbers or letters that are stored in a file, which, when processed through a cryptographic algorithm, can encode or decode cryptographic data. Based on the used method, the key ...
, for example. If authentication succeeds, the X server sends a
Manage
packet to inform the display manager. Then the display manager displays its login screen by connecting to the X server as a regular X client.
During the session, the server can send
KeepAlive
packets to the display manager at intervals. If the display manager fails to respond with an
Alive
packet within a certain time, the X server presumes that the display manager has ceased running, and can terminate the connection.
Security
One problem with XDMCP is that, similarly to
telnet
Telnet is an application protocol used on the Internet or local area network to provide a bidirectional interactive text-oriented communication facility using a virtual terminal connection. User data is interspersed in-band with Telnet control i ...
, the authentication takes place unencrypted. If snooping is possible, this leaves the system vulnerable to attack. It is more secure to use an
ssh
The Secure Shell Protocol (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network. Its most notable applications are remote login and command-line execution.
SSH applications are based on ...
tunnel
A tunnel is an underground passageway, dug through surrounding soil, earth or rock, and enclosed except for the entrance and exit, commonly at each end. A pipeline is not a tunnel, though some recent tunnels have used immersed tube cons ...
for X traffic.
Implementations
The
X Window System
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wit ...
supplies
XDM as its standard display manager.
Programmers have developed other X display managers, both commercial and free, offering additional functionality over the basic display management:
Active
*
GDM,
GNOME
A gnome is a mythological creature and diminutive spirit in Renaissance magic and alchemy, first introduced by Paracelsus in the 16th century and later adopted by more recent authors including those of modern fantasy literature. Its characte ...
implementation
*
SDDM, recommended display manager for
KDE Plasma 5
KDE Plasma 5 is the fifth and current generation of the graphical workspaces environment created by KDE primarily for Linux systems. KDE Plasma 5 is the successor of KDE Plasma 4 and was first released on 15 July 2014.
It includes a new default ...
and
LXQt
LXQt is a free and open source lightweight desktop environment. It was formed from the merger of the LXDE and Razor-qt projects.
Like its GTK predecessor LXDE, LXQt does not ship or develop its own window manager, instead LXQt lets the user de ...
. Successor to KDM.
*
LightDM
LightDM is a free and open-source X display manager that aims to be lightweight, fast, extensible and multi-desktop. It can use various front-ends to draw User Interface, also called ''Greeters''. It also supports Wayland.
LightDM is the defa ...
, a lightweight, modular, cross-desktop, fully themeable desktop display manager by
Canonical Ltd.
Canonical Ltd. is a UK-based privately held computer software company founded and funded by South African entrepreneur Mark Shuttleworth to market commercial support and related services for Ubuntu and related projects. Canonical employs staff ...
*
TWin
Twins are two offspring produced by the same pregnancy.MedicineNet > Definition of TwinLast Editorial Review: 19 June 2000 Twins can be either ''monozygotic'' ('identical'), meaning that they develop from one zygote, which splits and forms two em ...
, the
TDE window manager
xlogin display manager a lightweight, secure and login like console display manager for X, written in C.
Inactive
*
KDM (part of
KDE
KDE is an international free software community that develops free and open-source software. As a central development hub, it provides tools and resources that allow collaborative work on this kind of software. Well-known products include the ...
) allows the user to graphically select a
window manager
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment. They work in conjunction ...
or
desktop environment
In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphica ...
in the login screen
Qingyultralight and very configurable graphical login independent on X Window (uses
DirectFB
DirectFB (Direct Frame Buffer) is a software library with a small memory footprint that provides graphics acceleration, input device handling and abstraction layer, and integrated windowing system with support for translucent windows and mult ...
)
XDM-OPTIONSfor XDM. Easy full install, Xhost Phonebook, X Login, X Desktop Chooser, menu-reconfig, repair utils.
* LDM, the (remote) Display Manager of the
Linux Terminal Server Project
Linux Terminal Server Project (LTSP) is a free and open source terminal server for Linux that allows many people to simultaneously use the same computer. Applications run on the server with a terminal known as a thin client (also known as an X te ...
MDM a graphical display manager developed for Linux Mint.
*
dtlogin (shipped with
CDE)
* (provided by
SCO Open Desktop) also checks for expired passwords and performs some administrative tasks
*
WINGs Display Manager
{{unreferenced, date=October 2014
In computing, the WINGs Display Manager (WDM) is a display manager for the X window system, mainly used for graphically logging in, on a Unix-based system.
WINGs is a modification of XDM, XFree86's original displ ...
(using the WINGs widget-set used in
Window Maker
Window Maker is a free and open-source window manager for the X Window System, allowing graphical applications to be run on Unix-like operating-systems. It is designed to emulate NeXTSTEP's GUI as an OpenStep-compatible environment. Window Maker ...
)
*
entranced/entrance (employs the architecture used in
Enlightenment v.17, on hiatus since 2005)
LXDM a lightweight cross-desktop and fully themeable display manager, part of
LXDE
LXDE (abbreviation for Lightweight X11 Desktop Environment) is a free desktop environment with comparatively low resource requirements. This makes it especially suitable for use on older or resource-constrained personal computers such as netb ...
*
SLiM
Slim or SLIM may refer to:
Arts and entertainment Fictional characters
* Slim Goodbody, a fictional character who teaches about anatomy
* Slim, one of the alien antagonists of the 1988 film '' Killer Klowns from Outer Space''
* Slim, the Pixl fro ...
, an independent login manager.
CDM an ultralight Console Display Manager for Unix
xlogin X Window login with separate XDMCP server
Enter a lightweight graphical login manager
Orthos another lightweight solution with very configurable animated themes that use OpenGL only
nodm auto-login display manager for systems like kiosks, appliances and mobile phones
On some Unix distributions, the default display manager is selected in file $PREFIX/etc/X11/default-display-manager.
See also
*
Login manager A login manager is a login system for Unix and Unix-like operating systems. It comprises a login Daemon (computing), daemon, a login user interface, and a system for tracking login sessions. When a User (computing), user tries to log in, the login m ...
*
X Window System protocols and architecture
In computing, the X Window System (commonly: X11, or X) is a network-transparent windowing system for bitmap displays. This article details the protocols and technical structure of X11.
Client–server model and network transparency
X uses a ...
Sources
XDMCP specification from the
X.Org release documentation
XDM manual page(XFree86.org)
* Linda Mui and Eric Pearce, ''X Window System Volume 8: X Window System Administrator's Guide for X11 Release 4 and Release 5, 3rd edition'' (O'Reilly and Associates, July 1993; softcover )
References
External links
from th
FreeBSD HandbookLinux login with a Windows box and XDMCPA guide to logging into linux using windows.
{{Display Managers
X Window System