XDM
Related articles
From XDM manual page:
- Xdm manages a collection of X displays, which may be on the local host or remote servers. The design of xdm was guided by the needs of X terminals as well as The Open Group standard XDMCP, the X Display Manager Control Protocol. Xdm provides services similar to those provided by init, getty and login on character terminals: prompting for login name and password, authenticating the user, and running a "session."
XDM provides a simple and straightforward graphical login prompt.
Contents
Installation
Install xorg-xdm, available in the official repositories, then enable the xdm
systemd service.
If you would like to use an Arch Linux theme for XDM, you can optionally install the xdm-archlinux package, also available in the official repositories. If installing the latter package, then do not enable the xdm
service, but instead enable the xdm-archlinux
service.
Configuration
Defining the session
Unlike many more modern display managers such as GDM or LightDM, XDM does not source available sessions from .desktop files located in the /usr/share/xsessions
directory. As such, XDM does not have a 'session menu.' Instead, XDM will source the .xsession
file in the home directory (if this does not exist it will source the .xsession
file in /etc/skel
.) The .xsession
file will normally direct XDM to the .xinitrc
file where sessions and startup commands can be defined however the .xsession
file can be used to define sessions directly.
If you wish to define sessions using the .xinitrc
file, execute the following command to copy the default .xsession
and .xinitrc
files to your home directory:
$ cp /etc/skel/.xsession /etc/skel/.xinitrc ~
Ensure that the .xinitrc
and .xsession
files in your home directory are executable. Then edit the .xinitrc
file to define your session as appropriate, e.g. exec gnome-session
. See the xinitrc article for more information.
If you would prefer to define your session in the .xsession
file itself, simply create the file and define the session as appropriate (the syntax is the same as in the .xinitrc
file.)
Then make the file executable by running the following command:
$ chmod 744 ~/.xsession
Theming
For the exact meanings of the options discussed below, see the manual page of xdm.
Background wallpaper
You can use a program such as qiv to set the background in XDM:
- Install qiv
- Make a directory to store background images, e.g.
/root/backgrounds
or/usr/local/share/backgrounds
- Place your images in the directory. If you do not have any try [1] for starters
- Edit
/etc/X11/xdm/Xsetup_0
. Change thexconsole
command to:
/usr/bin/qiv -zr /root/backgrounds/*
Font
- Edit
/etc/X11/xdm/Xresources
. Add/replace the following defines:
xlogingreetFont: -adobe-helvetica-bold-o-normal--20------iso8859-1 xloginfont: -adobe-helvetica-medium-r-normal--14------iso8859-1 xloginpromptFont: -adobe-helvetica-bold-r-normal--14------iso8859-1 xloginfailFont: -adobe-helvetica-bold-r-normal--14------iso8859-1
Login dialog positioning
This configuration will move the login dialog to the bottom right of the screen.
xlogin*frameWidth: 1 xlogin*innerFramesWidth: 1 xlogin*logoPadding: 0 xlogin*geometry: 300x175-0-0
Removing the logo
Comment out the logo defines:
#xlogin*logoFileName: /usr/X11R6/lib/X11/xdm/pixmaps/xorg.xpm #xlogin*logoFileName: /usr/X11R6/lib/X11/xdm/pixmaps/xorg-bw.xpm
Multiple X sessions & Login in the window
With the Xdmcp enable, you can easily run multiple X sessions simultaneously on the same machine.
# X -query ip_xdmcp_serverĀ :2
This will launch the second session, in window you need xorg-server-xephyr
# Xephyr -query this_machine_ipĀ :2