All Projects → tvrzna → Emptty

tvrzna / Emptty

Licence: mit
Dead simple CLI Display Manager on TTY

Programming Languages

go
31211 projects - #10 most used programming language

Labels

Projects that are alternatives of or similar to Emptty

Rfc
📄 Read RFCs from the command-line
Stars: ✭ 185 (-2.63%)
Mutual labels:  cli
Drush
Drush is a command-line shell and scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those who spend their working hours hacking away at the command prompt.
Stars: ✭ 2,213 (+1064.74%)
Mutual labels:  cli
Aq
Query AWS resources with SQL
Stars: ✭ 190 (+0%)
Mutual labels:  cli
Staticrypt
Password protect a static HTML page
Stars: ✭ 2,280 (+1100%)
Mutual labels:  cli
Vcspull
🔄 synchronize projects via yaml/json manifest. built on libvcs
Stars: ✭ 187 (-1.58%)
Mutual labels:  cli
Fnt
apt for fonts, the missing font manager for macOS/linux
Stars: ✭ 187 (-1.58%)
Mutual labels:  cli
Termuxarch
Experience the pleasure of the Linux command prompt in Android, Chromebook, Fire OS and Windows on smartphone, smartTV, tablet and wearable https://termuxarch.github.io/TermuxArch/
Stars: ✭ 183 (-3.68%)
Mutual labels:  cli
Klingon
Angular Klingon: The UI companion for the @angular/cli
Stars: ✭ 191 (+0.53%)
Mutual labels:  cli
Autoserver
Create a full-featured REST/GraphQL API from a configuration file
Stars: ✭ 188 (-1.05%)
Mutual labels:  cli
Rpi Backlight
🔆 A Python module for controlling power and brightness of the official Raspberry Pi 7" touch display
Stars: ✭ 190 (+0%)
Mutual labels:  cli
N8n
Free and open fair-code licensed node based Workflow Automation Tool. Easily automate tasks across different services.
Stars: ✭ 19,252 (+10032.63%)
Mutual labels:  cli
Claws
Awesome WebSocket CLient - an interactive command line client for testing websocket servers
Stars: ✭ 187 (-1.58%)
Mutual labels:  cli
Nali Cli
⚓️ Parse geoinfo of IP Address without leaving your terminal
Stars: ✭ 190 (+0%)
Mutual labels:  cli
Downloader Cli
A simple downloader written in Python with an awesome customizable progressbar.
Stars: ✭ 186 (-2.11%)
Mutual labels:  cli
Bashhub Server
Private cloud shell history. Open source server for bashhub https://github.com/rcaloras/bashhub-client
Stars: ✭ 189 (-0.53%)
Mutual labels:  cli
Comiccrawler
An image crawler written in Python.
Stars: ✭ 185 (-2.63%)
Mutual labels:  cli
Gcli
🖥 Go CLI application, tool library, running CLI commands, support console color, user interaction, progress display, data formatting display, generate bash/zsh completion add more features. Go的命令行应用,工具库,运行CLI命令,支持命令行色彩,用户交互,进度显示,数据格式化显示,生成bash/zsh命令补全脚本
Stars: ✭ 188 (-1.05%)
Mutual labels:  cli
Amber
A Crystal web framework that makes building applications fast, simple, and enjoyable. Get started with quick prototyping, less bugs, and blazing fast performance.
Stars: ✭ 2,345 (+1134.21%)
Mutual labels:  cli
Cgx
💻🔥CLI to generate the recommended documentation/files to improve contribution (Github, Gitlab, CodeCommit and Bitbucket)
Stars: ✭ 190 (+0%)
Mutual labels:  cli
Lighthouse Security
Runs the default Google Lighthouse tests with additional security tests
Stars: ✭ 190 (+0%)
Mutual labels:  cli

emptty

Release GitHub Workflow Status Go Report Card

Dead simple CLI Display Manager on TTY

Packaging status

Configuration

/etc/emptty/conf

Default startup configuration. On each change it requires to restart emptty.

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.

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

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.

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

DBUS_LAUNCH Prepends "dbus-launch" before desktop command. Default value is true. If .emptty is handled as script, this config is overriden to false.

XINITRC_LAUNCH Starts Xorg desktop with calling "~/.xinitrc" script, if is true, file exists and selected WM/DE is Xorg session, it overrides DBUS_LAUNCH. If .emptty is handled as script, this config is overriden to false.

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

LOGGING Defines the way, how is logging handled. Possible values are "default", "appending" or "disabled". Default value is "default".

XORG_ARGS Arguments passed to Xorg server.

LOGGING_FILE Overrides path of log file. Default value is /var/log/emptty. NOTE: It expects existence of directories to defined logging file.

DYNAMIC_MOTD Allows 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_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.

/etc/emptty/motd-gen.sh

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!

/etc/emptty/motd

Custom file, that prints your own MOTD. Reading this file supports colors (e.g. \x1b[31m or \033[32m). Is skipped, if DYNAMIC_MOTD is defined and /etc/emptty/motd-gen.sh is executable.

${HOME}/.config/emptty or ${HOME}/.emptty

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/emptty has higher priority on loading. See samples

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 .emptty file 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.

/etc/emptty/custom-sessions/ or ${HOME}/.config/emptty-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". See samples

Name Defines name of Desktop Environment/Window Manager.

Exec Defines command to start Desktop Environment/Window Manager.

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

${HOME}./xinitrc

If config XINITRC_LAUNCH is set to true, it enables possibility to use .xinitrc script. See samples

Colors

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

List of colors
  • BLACK
  • RED
  • GREEN
  • YELLOW
  • BLUE
  • PURPLE
  • CYAN
  • WHITE
  • LIGHT_BLACK
  • LIGHT_RED
  • LIGHT_GREEN
  • LIGHT_YELLOW
  • LIGHT_BLUE
  • LIGHT_PURPLE
  • LIGHT_CYAN
  • LIGHT_WHITE

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 and the previous version is stored as /var/log/emptty.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.old.

appending

This option provides functionality that logs everything into /var/log/emptty and 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.

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.

Build & install

Build dependencies

  • go
  • gcc
  • pam-devel
  • libx11-devel (libx11)

Dependencies

  • pam
  • libx11
  • xorg / xorg-server (optional)
  • xauth / xorg-xauth (required for xorg)
  • mcookie (required for xorg)
  • wayland (optional)

Commands


  • make clean to cleanup already built binary.
  • make build to build binary and gzip man page.

  • make install to install binary.
  • make install-pam to install pam module.
  • make install-pam-debian to install pam module for Debian.
  • make install-pam-fedora to install pam module for Fedora.
  • make install-pam-suse to install pam module for openSUSE.
  • make install-manual to install man page.
  • make install-all to install binary, pam module and man page.

  • make install-config to create default conf file in /etc/emptty/.
  • make install-runit to install runit service
  • make install-openrc to install openrc service
  • make install-systemd to install systemd service.
  • make install-motd-gen to create default motd-gen.sh in /etc/emptty/

  • make uninstall to remove emptty from your system

Build tags

Different distros could handle libc dependencies in different ways and emptty have 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

nopam

This tag disables dependency on PAM. In Linux it switch to basic authentication with shadow. For OpenBSD there is simple bsd_auth authentication.

noxlib

This tag disables dependency on libx11, could be useful, if only Waylend desktop is expected to be used.

noutmp

This tag disables dependency on UTMP/UTMPX. Its implementation is different by each libc/distro, this provides ability to build if incompatibility occurs.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].