Debian README for xdm ===================== Configuration files ------------------- The default configuration manages one local X server. Its login screen occupies a virtual console at boot. The configuration files are under /etc/X11/xdm/; see xdm(8) for the available resources and their semantics. /etc/X11/xdm/xdm-config contains the DisplayManager resources, including paths to the other files below. These paths can be overridden there. /etc/X11/xdm/Xresources configures the appearance of the login widget (including the Debian logo) and the remote host chooser. It is loaded with xrdb and can use substitutions such as CLIENTHOST. These resources are not loaded into users' sessions; /etc/X11/Xresources serves that separate purpose. /etc/X11/xdm/Xservers lists the X servers to start locally and any remote X terminals that do not support XDMCP. On Linux the default entry is: :0 local /usr/bin/X :0 vt7 -nolisten tcp Comment out this entry if xdm should not start a local X server. /etc/X11/xdm/Xaccess controls access by remote XDMCP clients. XDMCP is disabled by default through DisplayManager.requestPort in xdm-config. /etc/X11/xdm/Xsetup runs as root before the login widget is displayed. /etc/X11/xdm/Xstartup runs as root after authentication, before starting the user's session. A nonzero exit status prevents the session starting. /etc/X11/xdm/Xsession invokes the common /etc/X11/Xsession framework as the authenticated user. See Xsession(5) and Xsession.options(5). /etc/X11/xdm/Xreset runs as root when the session ends and invokes the common /etc/X11/Xreset framework when it is available. /etc/X11/xdm/xdm.options contains Debian-specific options for starting, restarting and managing xdm. See xdm.options(5). Selecting and starting the display manager ----------------------------------------- Use "dpkg-reconfigure xdm" to select the default display manager. Under systemd, display-manager.service is an alias for the selected service; "systemctl disable xdm" and "systemctl enable xdm" can remove and restore xdm's alias. Switching from another display manager with systemctl may require "systemctl enable --force xdm". This does not update the debconf selection: a later package configuration can restore that selection. A masked display-manager.service is respected by the package scripts. Under SysV init, /etc/X11/default-display-manager determines whether the init script starts xdm. A "text" argument on the kernel command line also prevents startup, including an explicit "/etc/init.d/xdm start". Under systemd, boot with "systemd.unit=multi-user.target" for a text-only boot. The SysV script sets HOME=/root for the daemon and X server so their caches do not end up in /.cache. This does not change the user's session HOME. Existing /.cache contents are not removed by the package. Login and recovery ------------------ With the default key bindings, press Ctrl+Return or F1 instead of Return after entering the password to request a failsafe session. When allow-failsafe is enabled in /etc/X11/Xsession.options and an x-terminal-emulator is installed, this opens a terminal instead of the normal session. It can be used to inspect ~/.xsession-errors and repair a broken ~/.xsession. It does not automatically diagnose a failed session. The set-session-argument action is documented in xdm(8). By default xdm rejects accounts with an empty password, even when PAM otherwise allows them. To permit these accounts, set the following in /etc/X11/xdm/Xresources: xlogin.Login.allowNullPasswd: true The PAM configuration must also allow empty passwords. Restarting xdm loads this change, but also terminates any sessions it manages. Log rotation ------------ The logrotate configuration uses copytruncate to keep the log file open for xdm and its children without sending a signal during startup. A small amount of output can be lost between the copy and truncate operations.