Console TDM

From ArchWiki

Console TDM is an extension for xorg-xinit written in pure bash. It is inspired by CDM, which aimed to be a replacement of display managers such as GDM.


Install the console-tdmAUR package (console-tdm-gitAUR package for the development version).

Now ensure no other display managers get started by disabling their systemd services.

After installing Console TDM, you should modify your ~/.bash_profile, and add a line:

source /usr/bin/tdm

If you use zsh, add to your ~/.zprofile the following line:

bash /usr/bin/tdm


Tip: Since version 1.3.0, tdm may be forced to start if X is already running by adding the --disable-xrunning-check flag to the first call of tdm.

Regardless of which shell is used you should edit ~/.xinitrc and replace your existing exec line with:

exec tdm --xstart


Note: Since version 1.3.0, tdm follows the XDG base directory specification. By default, $XDG_CONFIG_HOME is set to $HOME/.config.
Warning: Since support for ~/.tdm will eventually be dropped, consider moving your configuration to $XDG_CONFIG_HOME/tdm. You can use tdmctl migrate to automatically migrate your configuration.

You should copy the links to your WM/DE starter to $XDG_CONFIG_HOME/tdm/sessions, and links to non-X programs to $XDG_CONFIG_HOME/tdm/extra. For convenience, you can just run tdmctl init.

The use of the program tdmctl is much like systemctl, and it is a powerful tool to configure Console TDM.

You can customize Console TDM by editing $XDG_CONFIG_HOME/tdm/tdminit (sourced before the user is prompted for a session) and $XDG_CONFIG_HOME/tdm/tdmexit (sourced before the session is actually started).

See also