Or use a simple line (assume your favorite windows manager is 'openbox')

+

Or use a simple line (assume your favorite window manager is 'openbox')

$ echo exec openbox > ~/.xsession

$ echo exec openbox > ~/.xsession

$ chmod 744 ~/.xsession

$ chmod 744 ~/.xsession

+

+

Without these modifications XDM will execute the '''xinitrc''' from {{ic|/etc/X11/xinit/xinitrc}} (See [[Xorg#Running]] for details).

If you would also like to use an Arch Linux theme for XDM, you can optionally install the {{Pkg|xdm-archlinux}} package, also available in the Official Repositories.

If you would also like to use an Arch Linux theme for XDM, you can optionally install the {{Pkg|xdm-archlinux}} package, also available in the Official Repositories.

Line 81:

Line 83:

Make sure that the {{pkg|dbus}} package, available in the [[Official Repositories]] is [[pacman|installed]] and then make sure {{ic|dbus}} is included in the {{ic|[[Daemon#Starting_on_Boot|DAEMONS]]}} array in {{ic|/etc/[[rc.conf]]}}.

Make sure that the {{pkg|dbus}} package, available in the [[Official Repositories]] is [[pacman|installed]] and then make sure {{ic|dbus}} is included in the {{ic|[[Daemon#Starting_on_Boot|DAEMONS]]}} array in {{ic|/etc/[[rc.conf]]}}.

−

Also, make sure that you are actually starting your window manager, for example with the command {{ic|xmonad}} in {{ic|~/.xsession}}, and that {{ic|~/.xsession}} has the correct permissions of {{ic|774}}.

+

When using pure systemd with logind, instead of consolekit which is now deprecated, systemd will start dbus automatically. To use xdm use {{bc|# systemctl enable xdm.service}} or {{bc|# systemctl enable xdm-archlinux.service}}

+

+

Also, make sure that you are actually starting your window manager, for example with the command {{ic|xmonad}} in {{ic|~/.xsession}}, and that {{ic|~/.xsession}} has the correct permissions of {{ic|774}}. This file is installed by {{Pkg|xorg-xinit}}.

===XDM does not update login records===

===XDM does not update login records===

−

The vanilla config of XDM calls {{ic|/etc/X11/xdm/GiveConsolve}} for the startup of display :0, whereas otherwise it calls {{ic|/etc/X11/xdm/Xstartup}}. Since only the latter contains a call to {{ic|/usr/bin/sessreg}}, the login record {{ic|/var/run/utmp}} is not updated for a login on display :0. As a consequence, the output of {{ic|who}} does not necessarily list the user after login through XDM. This was already discussed in the bug report [https://bugs.archlinux.org/task/26395 FS#26395].

+

The vanilla config of XDM calls {{ic|/etc/X11/xdm/GiveConsole}} for the startup of display :0, whereas otherwise it calls {{ic|/etc/X11/xdm/Xstartup}}. Since only the latter contains a call to {{ic|/usr/bin/sessreg}}, the login record {{ic|/var/run/utmp}} is not updated for a login on display :0. As a consequence, the output of {{ic|who}} does not necessarily list the user after login through XDM. This was already discussed in the bug report [https://bugs.archlinux.org/task/26395 FS#26395].

As a simple fix, append the following line to {{ic|/etc/X11/xdm/GiveConsole}}:

As a simple fix, append the following line to {{ic|/etc/X11/xdm/GiveConsole}}:

Revision as of 12:09, 17 April 2013

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

Troubleshooting

XDM loops back to itself after login

The current version of the xorg-xdm package, available in 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.

When using pure systemd with logind, instead of consolekit which is now deprecated, systemd will start dbus automatically. To use xdm use

# systemctl enable xdm.service

or

# systemctl enable xdm-archlinux.service

Also, make sure that you are actually starting your window manager, for example with the command xmonad in ~/.xsession, and that ~/.xsession has the correct permissions of 774. This file is installed by xorg-xinit.

XDM does not update login records

The vanilla config of XDM calls /etc/X11/xdm/GiveConsole 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 /etc/X11/xdm/GiveConsole: