emptty - Dead simple CLI Display Manager on TTY

NAME  SYNOPSIS  DESCRIPTION  OPTIONS  CONFIG  DYNAMIC MOTD  CUSTOM MOTD  USER CONFIG  CUSTOM SESSIONS  LAST SESSION  LOGGING  COLORS 

NAME

emptty − Dead simple CLI Display Manager on TTY

SYNOPSIS

emptty [-v] [--version] [-d] [--daemon] [-c PATH] [--config PATH] [-i] [--ignore-config] [-t TTY] [--tty TTY] [-u defaultUser] [--default-user defaultUser] [-a [session]] [--autologin [session]]

DESCRIPTION

emptty Simple CLI Display Manager, that allows one to select DE/WM after login, use predefined config or allows autologin, if selected user is part of nopasswdlogin group.

OPTIONS

−v, −−version

Display the version of the program.

−d, −−daemon

Starts emptty as daemon, that does not require agetty.

−c, −−config PATH

Loads configuration from specified path.

−i, −−ignore-config

Skips loading of configuration from file, loads only argument configuration.

−t, −−tty TTY

Overrides loaded configuration by setting defined TTY. May be specified as a number (e.g. "7") or a TTY name (e.g. "tty7").

−u, −−default-user defaultUser

Overrides loaded configuration by setting defined defaultUser.

−a, −−autologin [session]

Overrides loaded configuration by enabling autologin. If session is defined, it overrides autologin session.

CONFIG

/etc/emptty/conf
TTY_NUMBER

TTY, where emptty will start.

SWITCH_TTY

Enables switching to defined TTY number. Default is true.

PRINT_ISSUE

Enables printing of /etc/issue in daemon mode.

PRINT_MOTD

Enables printing of default motd, static motd or dynamic motd.

DEFAULT_USER

Preselected user, if AUTOLOGIN is enabled, this user is logged in.

DEFAULT_SESSION

Preselected desktop session, if user does not use ‘emptty‘ file. Has lower priority than AUTOLOGIN_SESSION

DEFAULT_SESSION_ENV

Optional environment of preselected desktop session, if user does not use ‘emptty‘ file. Possible values are "xorg" and "wayland".

AUTOLOGIN

Enables Autologin, if DEFAULT_USER is defined. Possible values are "true" or "false". Default value is false.

NOTE: to enable autologin DEFAULT_USER must be in group nopasswdlogin , otherwise user will NOT be authorized.

AUTOLOGIN_SESSION

The default session used, if Autologin is enabled. If session is not found in list of session, it proceeds to manual selection.

AUTOLOGIN_SESSION_ENV

Optional environment of autologin desktop session. Possible values are "xorg" and "wayland".

AUTOLOGIN_MAX_RETRY

If Autologin is enabled and session does not start correctly, the number of retries in short period is kept to eventually stop the infinite loop of restarts. -1 is for infinite retries, 0 is for no retry. Default value is 2.

LANG

defines locale for all users. Default value is "en_US.UTF-8"

DBUS_LAUNCH

Starts "dbus-launch" before desktop command. After end of session "dbus-daemon" is interrupted. Default value is true. If user config is handled as script (does not contain Exec option), this config is overridden to false.

ALWAYS_DBUS_LAUNCH

Starts "dbus-launch" before desktop command in any case, DBUS_LAUNCH value is ignored. It also starts even if XINITRC_LAUNCH is set to ‘true‘. After end of session "dbus-daemon" is interrupted. Default value is false.

XINITRC_LAUNCH

Starts Xorg desktop with calling ˜/.xinitrc script with session exec as argument, if is true, file exists and selected WM/DE is Xorg session, it overrides DBUS_LAUNCH. If user config is handled as script (does not contain Exec option), this config is overridden to false.

VERTICAL_SELECTION

Prints available WM/DE each on new line instead of printing on single line.

LOGGING

Defines how logging is handled. Possible values are "rotate", "appending" or "disabled". Default value is "rotate".

LOGGING_FILE

Overrides path of log file. Default value is /var/log/emptty/[TTY_NUMBER].log

NOTE: It expects existence of directories to defined logging file.

XORG_ARGS

Arguments passed to Xorg server.

DYNAMIC_MOTD

Allows using dynamic motd script to generate custom MOTD. Possible values are "true" or "false". Default value is false.

NOTE: Be sure, that dynamic motd has correct content and permissions (e.g. 744), the script is started as default user; in daemon mode it means root

DYNAMIC_MOTD_PATH

Allows overriding default path to dynamic motd. Default value is "/etc/emptty/motd-gen.sh".

MOTD_PATH

Allows overriding default path to static motd. Default value is "/etc/emptty/motd".

FG_COLOR

Foreground color, available only in daemon mode. List of colors is listed below.

BG_COLOR

Background color, available only in daemon mode. List of colors is listed below.

DISPLAY_START_SCRIPT

Script started before Display (Xorg/Wayland) starts.

NOTE: The script is started as default user; in daemon mode it means root

DISPLAY_STOP_SCRIPT

Script started after Display (Xorg/Wayland) stops.

NOTE: The script is started as default user; in daemon mode it means root

ENABLE_NUMLOCK

Enables numlock in daemon mode. Possible values are "true" or "false". Default value is false.

SESSION_ERROR_LOGGING

Defines how logging of session errors is handled. Possible values are "rotate", "appending" or "disabled". Default value is "disabled".

SESSION_ERROR_LOGGING_FILE

Overrides path of session errors log file. Default value is /var/log/emptty/session-errors.[TTY_NUMBER].log

NOTE: It expects existence of directories to defined logging file.

NO_XDG_FALLBACK

Disallows setting of fallback values for all XDG environmental variables and leaves it on Login Controls. Possible values are "true" or "false". Default value is false.

NOTE: Be aware, that setting to "true" could lead to unexpected behaviour.

DEFAULT_XAUTHORITY

If set true, it will not use .emptty-xauth file, but the standard ˜/.Xauthority file. This allows handling xauth issues. Possible values are "true" or "false". Default value is false.

ROOTLESS_XORG

If set true, Xorg will be started as rootless, if system allows and emptty is running in daemon mode. Possible values are "true" or "false". Default value is false.

IDENTIFY_ENVS

If set true, environmental groups are printed to differ Xorg/Wayland/Custom/UserCustom desktops. Possible values are "true" or "false". Default value is false.

HIDE_ENTER_LOGIN

If set true, "hostname login:" is not displayed. Possible values are "true" or "false". Default value is false.

HIDE_ENTER_PASSWORD

If set true, "Password:" is not displayed. Possible values are "true" or "false". Default value is false.

XORG_SESSIONS_PATH

Path to directory, where Xorg sessions’ desktop files are stored. Default value is "/usr/share/xsessions/".

WAYLAND_SESSIONS_PATH

Path to directory, where Wayland sessions’ desktop files are stored. Default value is "/usr/share/wayland-sessions/".

DYNAMIC MOTD

Optional file stored by default as /etc/emptty/motd-gen.sh. Could be overridden.

If DYNAMIC_MOTD is set to true, this file exists and is executable for its owner, the result is printed as your own MOTD. Be very careful with this script!

CUSTOM MOTD

Optional file stored by default as /etc/emptty/motd. Could be overridden.

Custom file, that prints your own MOTD. Reading this file supports colors (e.g. \x1b[31m or \033[32m )

USER CONFIG

Optional file stored as ${HOME}/.config/emptty or ${HOME}/.emptty

Configuration file stored as ${HOME}/.config/emptty has higher priority on loading.

Name

Optional name to be used as Session Name.

Exec

Defines command to start Desktop Environment/Window Manager. This value does not need to be defined, if user config is presented as shell script (with shebang at the start and execution permissions).

Environment

Selects, which environment should be defined for following command. Possible values are "xorg" and "wayland", "xorg" is default.

Lang

Defines locale for logged user, has higher priority than LANG from global configuration

Selection

Requires selection of desktop, basically turns emptty file into .xinitrc for Xorg and Wayland. In this case Exec is skipped.

LoginShell

Defines custom shell to be used to start the session. This allows starting the session with non-interactive shell e.g. "/bin/bash --login"

DesktopNames

Value passed into XDG_CURRENT_DESKTOP variable.

CUSTOM SESSIONS

Optional folders for custom sessions, that could be available system-wide (in case of /etc/emptty/custom-sessions/) or user-specific (in case of ${HOME}/.config/emptty-custom-sessions/), but do not have .desktop file stored on standard paths for Xorg or Wayland sessions. Expected suffix of each file is ".desktop".

Name

Defines name of Desktop Environment/Window Manager.

Exec

Defines command to start Desktop Environment/Window Manager. It could contain multiple arguments same as in *.desktop files.

Environment

Selects, which environment should be defined for following command. Possible values are "xorg" and "wayland", "xorg" is default.

DesktopNames

Value passed into XDG_CURRENT_DESKTOP variable.

LAST SESSION

The last user selection of session is stored into ˜/.cache/emptty/last-session

LOGGING

As it is mentioned in configuration, there are three options to handle logging of emptty. The logs contains not just logs from emptty, but also from Xorg (if used) and user’s WM/DE. Described log location could differ according configuration LOGGING_FILE , that is stored in /etc/emptty/conf
default

This option provides simple solution, when current instance of emptty logs into /var/log/emptty/[TTY_NUMBER].log and the previous version is stored as /var/log/emptty/[TTY_NUMBER].log.old

NOTE: Current instance always move previous log into old file, if emptty crashes and is started again, previous log is in /var/log/emptty/[TTY_NUMBER].log.old

appending

This option provides functionality that logs everything into /var/log/emptty/[TTY_NUMBER].log and does not handle log rotation by itself. It leaves the option for user to handle it themselves (e.g. with logrotate).

NOTE: Appending without roration could cause large log file, be sure that log file is rotated.

disabled

This option points all log into /dev/null , so no log is available.

NOTE: If any issue starts to appear and you want to report it, ensure you do not use this option.

COLORS

Please, be aware that LIGHT_ colors could be unavailable as background color.

BLACK, RED, GREEN, YELLOW, BLUE, PURPLE, CYAN, WHITE

LIGHT_BLACK, LIGHT_RED, LIGHT_GREEN, LIGHT_YELLOW, LIGHT_BLUE, LIGHT_PURPLE, LIGHT_CYAN, LIGHT_WHITE


Updated 2024-01-29 - jenkler.se | uex.se