Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
L

lemurs

> 编程语言
Open source

A customizable TUI display/login manager written in Rust

1.3K stars0 likes1 views
WebsiteGitHub

About

A customizable TUI display/login manager written in Rust

Lemurs is a Terminal User Interface (TUI) Display/Login Managers written in Rust that works on most GNU/Linux and BSD distributions. It can work both with or without SystemD.

Goal

This project creates a small, robust and yet customizable Login Manager which can serve as the front-end to your TTY, X11 or Wayland sessions. Lemurs uses Pluggable Authentication Modules (PAM) as its method of authentication.

Screenshot

Installation

Installation follows three steps.

  1. Compile the codebase
  2. Copy all files to correct positions
  3. Enable init process to run lemurs

Arch Linux

Lemurs can be installed from the extra repository.

bash
sudo pacman -S lemurs

# Not needed if you don't have a window manager yet
sudo systemctl disable display-manager.service

sudo systemctl enable lemurs.service

Alternatively, lemurs-git is available in the AUR.

Compiling from source

The install.sh script can be used to compile and setup the display manager on your Unix machine. This will perform multiple steps:

  1. Build the project in release mode (requires Rust's cargo)
  2. Setup the /etc/lemurs folder which contains some of the configuration and necessary files such as your selection of window managers.
  3. Disables the previous Display Manager
  4. Copies over the systemd service and enables it.

Although you might first want to set up some window managers (see Usage), upon rebooting you should now see Lemurs.

Usage

After installation you can add your environments by creating runnable scripts.

For your Xorg put your xinitrc scripts in the /etc/lemurs/wms directory. For Wayland, put a script that starts your compositor in the /etc/lemurs/wayland directory. For both cases, the name of the runnable script file is the name that is shown in the environment switcher within lemurs. Multiple Xorg and Wayland environments can exist at the same time.

Example 1: BSPWM

For the bspwm window manager, you might add the script /etc/lemurs/wms/bspwm.

bash
#! /bin/sh
sxhkd &
exec bspwm

Remember to make this script runnable. This is done with the sudo chmod 755 /etc/lemurs/wms/bspwm command.

Upon rebooting your new bspwm should show up within Lemurs.

Example 2: Sway

For the sway compositor and window manager, you might add the script /etc/lemurs/wayland/sway. Ensure that you have sway installed and added yourself to the seat group.

bash
#! /bin/sh
exec sway

Remember to make this script runnable. This is done with the sudo chmod 755 /etc/lemurs/wayland/sway command.

Upon rebooting your new sway should show up within Lemurs.

Configuration

Configuration is done through a TOML file. By default, Lemurs searches for a /etc/lemurs/config.toml file, but an alternative location can be specified using the --config flag. The configuration type can contain any subset of the available options. All the options and explanations as to what they do can be found in the extra/config.toml file. This file also serves as the default configuration.

Additionally, there is the possibility of variables in the configuration file. By default, Lemurs searches for a /etc/lemurs/variables.toml file, but an alternative location can be specified using the `--variables Ctrl + A: Go to the beginning of the focused input field

  • Ctrl + E: Go to the end of the focused input field
  • Ctrl + L: Clear the focused input field
  • Ctrl + U: Clear input field text before the cursor
  • Ctrl + K: Clear input field text after the cursor
  • Ctrl + D: Same as Delete
  • Ctrl + H: Same as Backspace
  • Ctrl + B: Same as Left
  • Ctrl + F: Same as Right
  • Ctrl + P: Same as Up
  • Ctrl + N: Same as Down

Platforms

Tested on

  • ArchLinux (Vanilla, ArcoLinux)
  • VoidLinux
  • Ubuntu (make sure to install build-essential and libpam-dev)
  • OpenSUSE (make sure to install pam and pam-devel)
  • NixOS (via services.displayManager.lemurs.enable = true;)

MSRV Policy

Lemurs has a Minimum Supported Rust Version policy of N - 2. This means that we only use Rust languages features that have been in Rust as of 2 releases.

License

The icon used at the top of the repository is not a logo and taken as an icon from the SVGRepo. It is marked under CC0 and therefore freely distributable and amendable under a new license.

The project is made available under the MIT and APACHE license. See the LICENSE-MIT and LICENSE-APACHE files, respectively, for more information.

Contributions

Please report any bugs and possible improvements as an issue within this repository. Pull requests are also welcome.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Rustlinuxrustunixwayland

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言