mydm(1) General Commands Manual mydm(1)

mydm - display manager replacement in TTY

mydm

mydm is a simple "display manager". It isn't true DM though. It must be spawned separately when you login. Once mydm runs, users can interactively select a session script which will be directly executed.

The simplest way to automatically spawn mydm is to source mydm_start file in your login scripts. Depending on your shell this might be for example:

•.profile for sh
•.bashprofile_ for bash
•.zprofile for zsh
•config.fish for fish

..and so on. For example:

# .profile
if [ -e "$HOME/.local/share/mydm/mydm_start" ]; then
    MYDM_DEFAULT_SESSION=sway
    export MYDM_DEFAULT_SESSION
    source "$HOME/.local/share/mydm/mydm_start"
fi

Once started, mydm tries to find executable scripts inside $MYDM_SESSION_DIR, then presents them to the user. Selected script is then executed. See mydm(5) for additional information regarding session scripts and their examples.

mydm doesn't do anything else. It doesn't source any files. Doesn't start anything besides the chosen script. It is a glorious wrapper around Bash select loop.

There are few environment variables which can be used to fine-tune mydm:

MYDM_SESSION_DIR

a directory which mydm uses to discover start scripts. Default: $HOME/.local/share/mydm-sessions.

MYDM_DEFAULT_SESSION

default session which will be automatically executed once mydm is started.

MYDM_TTY

TTY on which mydm will be automatically started when sourcing mydm_start file. Default: /dev/tty1.

MYDM_SPAWNED

mydm will refuse to start if this variable will be set inside its environment.

mydm(5)

Michał Góral <dev@goral.net.pl>

Source code: https://git.goral.net.pl/mydm.git

2024-05-10