QDM is a terminal user interface(TUI) display/login manager written in Python(3.10) for Linux.
- choose between different desktop environments(DE)
and window managers(WM) via/usr/share/xsessions/*.desktop
files
(TODO: wayland-session, bash shell and xinit). - multiple user login options via
/etc/passwd
- ASCII art style animations.
This DM is heavily inspired by/shamelessly ripped off of Ly another TUI DM.
The reason QDM exists is because Ly's code base is not as actively maintained as before
and relies on a number of unwieldy/unnecessary dependencies.
QDM is a hobby project and security is not my strong suit so feel free to critique that.
- python (tested on 3.10)
- systemd
- pamd
- python-pam (tested with 2.0.2)
- Xorg/X11
- only tested with Qtile(X11) wm and KDE Plasma(X11) so far
/etc/passwd
/etc/qdm/
/etc/pam.d/
/usr/lib/systemd/system/
/etc/systemd/system/display-manager.service
- No package manager support sorry :(
- download zip off github or clone repo
- copy contents of
./etc/
to/etc/
- symlink qdm.service to
/usr/lib/systemd/system/qdm.service
- symlink
/etc/systemd/system/display-manager.service
to qdm.service - change envars in envars.json to match your system
- all values in quotes
- default_session: the value of
name=
in the xsession .desktop file - default_username: your username lowercase
- menu_color: ansi escape sequence in quotes ("\u001b[34m" = blue)
- install path and etc path are temporary
- xauth and mcookie paths. See xauth(1) man for more details
- systemd/logind/pam vs not those
- default config files in
/etc/qdm/
- wayland-session