Dead simple CLI Display Manager on TTY
Dead simple CLI Display Manager on TTY
Default startup configuration. On each change it requires to restart emptty.
TTY_NUMBERTTY, where emptty will start.
SWITCH_TTYEnables switching to defined TTY number. Default is true.
PRINT_ISSUEEnables printing of /etc/issue in daemon mode.
DEFAULT_USERPreselected user, if AUTOLOGIN is enabled, this user is logged in.
AUTOLOGINEnables Autologin, if DEFAULTUSER 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_SESSIONThe default session used, if Autologin is enabled. If session is not found in list of session, it proceeds to manual selection.
LANGdefines locale for all users. Default value is "en_US.UTF-8"
DBUS_LAUNCHPrepends "dbus-launch" before desktop command. Default value is true. If
.empttyis handled as script, this config is overriden to false.
XINITRC_LAUNCHStarts Xorg desktop with calling "~/.xinitrc" script, if is true, file exists and selected WM/DE is Xorg session, it overrides DBUS_LAUNCH. If
.empttyis handled as script, this config is overriden to false.
VERTICAL_SELECTIONPrints available WM/DE each on new line instead of printing on single line.
LOGGINGDefines the way, how is logging handled. Possible values are "default", "appending" or "disabled". Default value is "default".
XORG_ARGSArguments passed to Xorg server.
LOGGING_FILEOverrides path of log file. Default value is
/var/log/emptty. NOTE: It expects existence of directories to defined logging file.
DYNAMIC_MOTDAllows to use /etc/emptty/motd-gen.sh script to generate custom MOTD. Possible values are "true" or "false". Default value is false. NOTE: Be sure, that /etc/emptty/motd-gen.sh has correct content and permissions (e.g. 744), the script is started as default user; in daemon mode it means
root.
FG_COLORForeground color, available only in daemon mode. List of colors is listed below.
BG_COLORBackground color, available only in daemon mode. List of colors is listed below.
DISPLAY_STOP_SCRIPTScript started after Display (Xorg/Wayland) stops. NOTE: The script is started as default user; in daemon mode it means
root.
If
DYNAMIC_MOTDis 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 file, that prints your own MOTD. Reading this file supports colors (e.g.
\x1b[31mor
\033[32m). Is skipped, if
DYNAMIC_MOTDis defined and
/etc/emptty/motd-gen.shis executable.
Optional configuration file, that could be also handled as shell script. If is not presented, emptty shows selection of installed desktops. Configuration file stored as
${HOME}/.config/empttyhas higher priority on loading. See samples
NameOptional name to be used as Session Name.
ExecDefines command to start Desktop Environment/Window Manager. This value does not need to be defined, if .emptty file is presented as shell script (with shebang at the start and execution permissions).
EnvironmentSelects, which environment should be defined for following command. Possible values are "xorg" and "wayland", "xorg" is default.
LangDefines locale for logged user, has higher priority than LANG from global configuration
SelectionRequires selection of desktop, basically turns
empttyfile into
.xinitrcfor Xorg and Wayland. In this case
Execis skipped.
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". See samples
NameDefines name of Desktop Environment/Window Manager.
ExecDefines command to start Desktop Environment/Window Manager.
EnvironmentSelects, which environment should be defined for following command. Possible values are "xorg" and "wayland", "xorg" is default.
If config
XINITRC_LAUNCHis set to true, it enables possibility to use .xinitrc script. See samples
Please, be aware that
LIGHT_colors could be unavailable as background color.
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.
This option provides simple solution, when current instance of
empttylogs into
/var/log/empttyand the previous version is stored as
/var/log/emptty.old.
NOTE: Current instance always move previous log into old file, if
empttycrashes and is started again, previous log is in
/var/log/emptty.old.
This option provides functionality that logs everything into
/var/log/empttyand does not handle log rotation by itself. It leaves the option for user to handle it himself (e.g. with logrotate).
NOTE: Appending without roration could cause large log file, be sure that log file is rotated.
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.
make cleanto cleanup already built binary.
make buildto build binary and gzip man page.
make installto install binary.
make install-pamto install pam module.
make install-pam-debianto install pam module for Debian.
make install-pam-fedorato install pam module for Fedora.
make install-pam-suseto install pam module for openSUSE.
make install-manualto install man page.
make install-allto install binary, pam module and man page.
make install-configto create default conf file in /etc/emptty/.
make install-runitto install runit service
make install-openrcto install openrc service
make install-systemdto install systemd service.
make install-motd-gento create default motd-gen.sh in /etc/emptty/
make uninstallto remove emptty from your system
Different distros could handle libc dependencies in different ways and
empttyhave direct references to these libc functions. For these cases there are Build tags to disable incompatible functionality or just to avoid some unwanted dependency. The usage during build is really simple, just add parameter and optional tags split with ",".
$ make build TAGS=tag1,tag2
This tag disables dependency on PAM. In Linux it switch to basic authentication with
shadow. For OpenBSD there is simple
bsd_authauthentication.
This tag disables dependency on libx11, could be useful, if only Waylend desktop is expected to be used.
This tag disables dependency on UTMP/UTMPX. Its implementation is different by each libc/distro, this provides ability to build if incompatibility occurs.