Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
X display manager
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Login manager on an X Window System server}} {{for|the program called 'X Display Manager'|XDM (display manager)}} {{multiple issues| {{more footnotes|date=August 2008}} {{primary sources|date=August 2008}} }} In the [[X Window System]], an '''X display manager''' is a graphical [[login manager]] which starts a [[login session]] on an [[X Window System|X server]] from the same or another [[computer]]. [[Image:Simple-desktop-display-manager.jpg|thumb|350px|A login screen shown by the [[Simple Desktop Display Manager|SDDM]] display manager.]] A display manager presents the user with a [[login|login screen]]. A session starts when a user successfully enters a valid combination of [[username]] and [[password]]. 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 {{mono|[[getty (Unix)|getty]]}} and {{mono|login}} on [[computer terminal|character-mode terminals]]. When the display manager runs on a remote computer, it acts like a [[telnet]] 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]]s, just coming onto the market. Various display managers continue in routine use to provide a graphical login prompt on standalone [[computer workstation]]s running X. X11R4 introduced the '''X Display Manager Control Protocol''' ('''XDMCP''') in December 1989 to fix problems in the X11R3 implementation. == History== [[XDM (display manager)|XDM]] (the X Window Display Manager) originated in X11R3. This first version, written by [[Keith Packard]] 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 {{mono|Xservers}} file, but XDM only consulted this file when it started. Thus every time a user switched a terminal off and on, the [[system administrator]] had to send a [[SIGHUP]] [[signal (computing)|signal]] to XDM to instruct it to rescan {{mono|Xservers}}. 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 {{mono|Xservers}}. ==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. [[Image:Xserver and display manager.svg|thumb|400px|In the X Window System, the '''X server''' runs on the computer in front of the user. The X server may connect to a '''display manager''' running on another computer, starting a session which may comprise a variety of programs running on that other computer. Relative to X server the XDM is a client. See [[X Window System|client–server separation]] in X11.]] 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]] 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 [[Internet protocol suite|TCP/IP]] [[subnetwork|subnet]]) that the XDMCP Chooser determines by a [[broadcast domain|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== {{anchor|XDMCP}} The X Display Manager Control Protocol (XDMCP) uses [[User Datagram Protocol|UDP]] [[TCP and UDP port|port]] 177. An X server requests that a display manager start a session by sending a <code>Query</code> packet. If the display manager allows access for that X server, it responds by sending a <code>Willing</code> packet back to the X server. (The X server can also send <code>BroadcastQuery</code> or <code>IndirectQuery</code> packets to start a session - this mechanism for requesting a session resembles using [[DHCP]] to request an IP address.) The display manager must authenticate itself to the server. To do this the X server sends a <code>Request</code> packet to the display manager, which returns an <code>Accept</code> packet. If the <code>Accept</code> 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]], for example. If authentication succeeds, the X server sends a <code>Manage</code> 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 <code>KeepAlive</code> packets to the display manager at intervals. If the display manager fails to respond with an <code>Alive</code> packet within a certain time, the X server presumes that the display manager has ceased running, and can terminate the connection. <!-- missing: 1. when is the connection terminated 2. more on indirect and broadcast --> === Security === One problem with XDMCP is that, similarly to [[telnet]], the authentication takes place unencrypted. If snooping is possible, this leaves the system vulnerable to attack. It is more secure to use an [[Secure Shell|ssh]] [[tunneling protocol|tunnel]] for X traffic.<ref>{{Cite web|url=http://www.gnome.org/projects/gdm/docs/2.14/security.html|title=Apps - GNOME Wiki!}}</ref> ==Implementations== The [[X Window System]] supplies [[X Display Manager (implementation)|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=== * [[GNOME Display Manager|GDM]], [[GNOME]] implementation * [[Simple Desktop Display Manager|SDDM]], recommended display manager for [[KDE Plasma 6]] and [[LXQt]]. Successor to KDM. * [[LightDM]], a lightweight, modular, cross-desktop, fully themeable desktop display manager by [[Canonical Ltd.]] * [[TWin]], the [[Trinity Desktop Environment|TDE]] window manager * [[dtlogin]] (shipped with [[Common Desktop Environment|CDE]]) ===Inactive=== {{linkfarm|section|date=November 2023}} * [[KDE Display Manager|KDM]] (part of [[KDE]]) allows the user to graphically select a [[X window manager|window manager]] or [[desktop environment]] in the login screen * [http://qingy.sourceforge.net/ Qingy] ultralight and very configurable graphical login independent on X Window (uses [[DirectFB]]) * [https://sourceforge.net/projects/xdm-options/ XDM-OPTIONS] for 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]] * [https://github.com/linuxmint/mdm MDM], a graphical display manager developed for Linux Mint. * {{mono|scologin}} (provided by [[SCO OpenServer|SCO Open Desktop]]) also checks for expired passwords and performs some administrative tasks * [[WINGs Display Manager]] (using the WINGs widget-set used in [[Window Maker]]) * [[entrance (display manager)|entranced/entrance]] (employs the architecture used in [[Enlightenment (window manager)|Enlightenment]] v.17, on hiatus since 2005) * [https://wiki.lxde.org/en/LXDM LXDM], a lightweight cross-desktop and fully themeable display manager, part of [[LXDE]] * [https://sourceforge.net/projects/slim-fork/ SLiM], an independent login manager. * [https://github.com/ghost1227/cdm CDM], an ultralight Console Display Manager for Unix * [http://www.jonshouse.co.uk/xlogin.cgi xlogin] {{Webarchive|url=https://web.archive.org/web/20090727195110/http://www.jonshouse.co.uk/xlogin.cgi |date=2009-07-27 }}, X Window login with separate XDMCP server * [http://enter.sourceforge.net/ Enter], a lightweight graphical login manager * [https://web.archive.org/web/20121106004540/http://repos.e-x-a.org/view.cgi/orthos Orthos], another lightweight solution with very configurable animated themes that use OpenGL only * [https://web.archive.org/web/20091223224641/http://www.enricozini.org/sw/nodm/ nodm], auto-login display manager for systems like kiosks, appliances and mobile phones * [https://github.com/Crakem/xlogin xlogin display manager], a lightweight, secure and login like console display manager for X, written in C.<ref>{{Cite web |title=Build software better, together |url=https://github.com/topics/display-manager |website=[[GitHub]]}}</ref><ref>{{Cite web |title=Display manager - ArchWiki |url=https://wiki.archlinux.org/title/Display_manager}}</ref> On some Unix distributions, the default display manager is selected in file $PREFIX/etc/X11/default-display-manager. ==See also== * [[Login manager]] * [[X Window System protocols and architecture]] ==Sources== * [https://www.x.org/releases/X11R7.6/doc/libXdmcp/xdmcp.html XDMCP specification], from the [[X.Org Foundation|X.Org]] release documentation * [https://web.archive.org/web/20051102064732/http://www.xfree86.org/current/xdm.1.html 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 {{ISBN|0-937175-83-8}}) ==References== {{Reflist}} ==External links== * [https://www.tldp.org/HOWTO/XDMCP-HOWTO/index.html Linux XDMCP HOWTO] * [http://www.rru.com/~meo/pubsntalks/xrj/xdm.html Taming The X Display Manager] * [https://www.freebsd.org/doc/en/books/handbook/x-xdm.html The X Display Manager], from the [https://www.freebsd.org/doc/en/books/handbook/ FreeBSD Handbook] * [https://it.toolbox.com/blogs/locutus/linux-login-with-a-windows-box-and-xdmcp-040607 Linux login with a Windows box and XDMCP] A guide to logging into linux using windows. {{XWinSys}} [[Category:X display managers| ]] [[Category:X Window System]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Anchor
(
edit
)
Template:Cite web
(
edit
)
Template:For
(
edit
)
Template:ISBN
(
edit
)
Template:Linkfarm
(
edit
)
Template:Mono
(
edit
)
Template:Multiple issues
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Webarchive
(
edit
)
Template:XWinSys
(
edit
)