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.
Install Official Repositories., available in the
~/.xsession file executable.
$ chmod 744 .xsession
Alternatively XDM can use the
If you do not already have the ~/.xinitrc file you can copy the default by executing:
cp /etc/skel/.xinitrc ~/
Be sure to edit the ~/.xinitrc file to include your specific Desktop Environment / Window Manager by placing the appropriate line at the bottom of ~/.xinitrc. For the i3 window manager this line would look like:
To make the graphical login the default method of logging into the system, edit your
/etc/inittab file (recommended) by adding or uncommenting this line:
As well as changing the default init level from 3 (Multi-user) to 5 (X11) by modifying the first settings line of
Change the 3 to a 5
If you would also like to use an Arch Linux theme for XDM, you can optionally install thepackage, also available in the Official Repositories.
See Display Manager for additional information.
Here are some tips to make XDM look nicer:
- Install the Quick Image Viewer:
# pacman -S qiv
- Make a directory to store background images. (e.g.
- Place your images in the directory. If you do not have any try  for starters.
/etc/X11/xdm/Xsetup_0. Change the
/usr/bin/qiv -zr /root/backgrounds/*
/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 xlogin*frameWidth: 1 xlogin*innerFramesWidth: 1 xlogin*logoPadding: 0 xlogin*geometry: 300x175-0-0
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
For the exact meaning of the definitions, see the man page of xdm.
/etc/pacman.confso the changes do not get erased:
~NoUpgrade = etc/X11/xdm/Xsetup_0 etc/X11/xdm/Xresources
The changes will now give you a random wallpaper image and move the login prompt to the bottom-right edge of the screen.
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
# Xephyr -query this_machine_ip :2
XDM loops back to itself after login
The current version of the Official Repositories is patched to register sessions with ConsoleKit by default. If ConsoleKit is not running, XDM will fail to succesfully launch an X session. D-Bus can be used invoke ConsoleKit when called upon by XDM.package, available in the
Also, make sure that you are actually starting your window manager, for example with the command
XDM does not update login records
The vanilla config of XDM calls
/etc/X11/xdm/GiveConsolve for the startup of display :0, whereas otherwise it calls
/etc/X11/xdm/Xstartup. Since only the latter contains a call to
/usr/bin/sessreg, the login record
/var/run/utmp is not updated for a login on display :0. As a consequence, the output of
who does not necessarily list the user after login through XDM. This was already discussed in the bug report FS#26395.
As a simple fix, append the following line to
exec /usr/bin/sessreg -a -w /var/log/wtmp -u /var/run/utmp -x /etc/X11/xdm/Xservers -l $DISPLAY -h "" $USER
This change also enables the
getuser function presented in Acpid to work.