X display manager
Encyclopedia
In the X Window System
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

, an X display manager runs as a program that allows the starting of a session
Login session
In computing, a login session is the period of activity between a user logging in and logging out of a system.On Unix and Unix-like operating systems, a login session takes one of two main forms:...

 on an X server
Server (computing)
In the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...

 from the same or another computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...

.
A display manager presents the user with a login screen
Login
Login is the method whereby a user obtains access to a computer system.Login may also refer to:*Magazines:** LOGiN, published by Enterbrain** ;login:, published by USENIX* Login, Carmarthenshire, an hamlet in Carmarthenshire...

 which prompts for a username and password
Password
A password is a secret word or string of characters that is used for authentication, to prove identity or gain access to a resource . The password should be kept secret from those not allowed access....

. A session starts when the 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 display manager realizes in the X Window System the functionality of init
Init
init is a program for Unix-based computer operating systems that spawns all other processes. It runs as a daemon and typically has PID 1. The boot loader starts the kernel and the kernel starts init...

, getty
Getty (Unix)
getty, short for "get teletype", is a Unix program running on a host computer that manages physical or virtual terminals . When it detects a connection, it prompts for a username and runs the 'login' program to authenticate the user....

and login on character-mode terminals
Computer terminal
A computer terminal is an electronic or electromechanical hardware device that is used for entering data into, and displaying data from, a computer or a computing system...

. When the display manager runs on a remote computer, it acts like a telnet
TELNET
Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...

 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
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 workstation....

s then just coming onto the market. Various display managers continue in routine use to provide a graphical login prompt on standalone computer workstations running X. X11R4 introduced the X Display Manager Control Protocol (XDMCP) in December 1989 to fix problems in the X11R3 implementation.

Local and remote display management

A display manager can run on the same computer where the user sits or on a remote one. In the first case, the display manager starts one or more X servers, displaying the login screen at the beginning and (optionally) every time the user logs out. In the second case, the display manager works 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
Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...

 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 configure an X server running on the computer or terminal of the user either to connect to a specific display manager, or to display a list of suitable hosts running potential X display managers. An XDMCP Chooser program allows the user to select a host from among those the terminal can connect to:
  1. a predefined list of hosts and their respective network addresses;
  2. a list of hosts (on the local TCP/IP
    Internet protocol suite
    The Internet protocol suite is the set of communications protocols used for the Internet and other similar networks. It is commonly known as TCP/IP from its most important protocols: Transmission Control Protocol and Internet Protocol , which were the first networking protocols defined in this...

     subnet
    Subnetwork
    A subnetwork, or subnet, is a logically visible subdivision of an IP network. The practice of dividing a network into subnetworks is called subnetting....

    ) that the XDMCP server (part of the X server?) in turn obtains by a network broadcast
    Broadcast domain
    A broadcast domain is a logical division of a computer network, in which all nodes can reach each other by broadcast at the data link layer. A broadcast domain can be within the same LAN segment or it can be bridged to other LAN segments....



The XDMCP server will often present itself in this list. When the user selects a host from the list, the X server running on the local machine will connect to the selected remote computer's X display manager.

X Display Manager Control Protocol

The X Display Manager Control Protocol uses UDP
User Datagram Protocol
The User Datagram Protocol is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol network without requiring...

 port
TCP and UDP port
In computer networking, a port is an application-specific or process-specific software construct serving as a communications endpoint in a computer's host operating system. A port is associated with an IP address of the host, as well as the type of protocol used for communication...

 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 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, 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.
One problem with XDMCP is that, similarly to telnet
TELNET
Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...

, the authentication takes place unencrypted. If snooping is possible, this leaves the system vulnerable to attack. It is more secure to use an ssh
Secure Shell
Secure Shell is a network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers that it connects via a secure channel over an insecure network: a server and a client...

  tunnel
Tunneling protocol
Computer networks use a tunneling protocol when one network protocol encapsulates a different payload protocol...

 for X traffic.

History

XDM (the X Window Display Manager) originated in X11R3. This version suffered from several problems, most notably when users switched X terminals off and on. In X11R3, XDM only knew about an X terminal from its entry in the 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
System administrator
A system administrator, IT systems administrator, systems administrator, or sysadmin is a person employed to maintain and operate a computer system and/or network...

 had to send a SIGHUP
SIGHUP
On POSIX-compliant platforms, SIGHUP is a signal sent to a process when its controlling terminal is closed....

 signal
Signal (computing)
A signal is a limited form of inter-process communication used in Unix, Unix-like, and other POSIX-compliant operating systems. Essentially it is an asynchronous notification sent to a process in order to notify it of an event that occurred. When a signal is sent to a process, the operating system...

 to XDM to instruct it to rescan 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 Xservers.

Some implementations

The X Window System
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

 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:
  • GDM
    GNOME Display Manager
    GDM provides a simpler to use alternative display manager for the X Window System's XDM.The X Window System by default uses the XDM display manager. However, resolving XDM configuration issues typically involves editing a configuration file. GDM allows users to customize or troubleshoot settings...

     (GNOME
    GNOME
    GNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...

    )
  • KDM (provided by KDE
    KDE
    KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS X systems...

    ) allows the user to graphically select a window manager
    X window manager
    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.Unlike the Mac OS and Microsoft Windows platforms which have historically provided a vendor-controlled, fixed set of ways to control how windows and panes display...

     or desktop environment
    Desktop environment
    In graphical computing, a desktop environment commonly refers to a style of graphical user interface derived from the desktop metaphor that is seen on most modern personal computers. These GUIs help the user in easily accessing, configuring, and modifying many important and frequently accessed...

     in the login screen
  • XDM, the default X Window System Display Manager
  • 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
    Linux Terminal Server Project
    Linux Terminal Server Project 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 handling input and output...

  • dtlogin
    Dtlogin
    dtlogin is a display manager for the X Window System. It is typically found on Unix and Unix-like computer systems running The Open Group's Common Desktop Environment desktop environment...

     (shipped with CDE
    Common Desktop Environment
    The Common Desktop Environment is a desktop environment for Unix and OpenVMS, based on the Motif widget toolkit.- Corporate history :...

    )
  • scologin (provided by SCO Open Desktop
    SCO OpenServer
    SCO OpenServer, previously SCO UNIX and SCO Open Desktop , is, misleadingly, a closed source version of the Unix computer operating system developed by Santa Cruz Operation and now maintained by the SCO Group....

    ) also checks for expired passwords and performs some administrative tasks
  • WINGs Display Manager
    WINGs Display Manager
    In computing, the WINGs Display Manager 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 display manager....

     (using the WINGs widget-set used in Window Maker
    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...

    )
  • entranced/entrance
    Entrance (display manager)
    In computing, Entrance , usually started with the Entranced display manager, is a display manager for the X Window System designed with the Enlightenment window manager in mind. In other words, it's a program that lets you log in to a computer.It is written using the Enlightenment Foundation...

     (employs the architecture used in Enlightenment
    Enlightenment (window manager)
    Enlightenment, also known simply as E, is a stacking window manager for the X Window System which can be used alone or in conjunction with a desktop environment such as GNOME or KDE...

     v.17, on hiatus since 2005)
  • LXDM, a lightweight display manager, part of LXDE
    LXDE
    LXDE is a free and open source desktop environment for Unix and other POSIX compliant platforms, such as Linux or BSD. The goal of the project is to provide a desktop environment that is fast and energy efficient...

    , cross-desktop, fully themeable
  • SLiM
    SLiM
    SLiM is a desktop-independent graphical login manager for the X Window System. SLiM aims to be light, completely configurable, and suitable for machines on which remote login functionalities are not needed.- Features :...

    , an independent login manager.
  • CDM, an ultralight Console Display Manager for Linux
  • xlogin, X Window login with separate XDMCP server
  • Enter 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
  • LightDM
    LightDM
    LightDM is an X display manager that aims to be light, fast, extensible and multi-desktop. It uses a WebKit backend to draw HTML-based login interfaces....

    , a lightweight, modular, cross-desktop, fully themeable desktop display manager

On most Linux distributions, the default display manager is selected in file /etc/X11/default-display-manager

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK