systemctl-tui
July 25, 2026 ยท View on GitHub
A fast, simple TUI for interacting with systemd units and their logs.
systemctl-tui can quickly browse service and timer status and logs, manage services and timers, and view/edit unit files. It aims to do a small number of things well.
Install
Note: this project only works on Linux (WSL works if you have systemd enabled). Binaries are published for x64 and ARM64 in the GitHub releases, and distro packages are available.
Binary Release
Automated install/update (don't forget to always verify what you're piping into bash):
curl https://raw.githubusercontent.com/rgwood/systemctl-tui/master/install.sh | bash
The script installs the downloaded binary to $HOME/.local/bin by default, but it can be changed by setting the DIR environment variable.
Debian/Ubuntu
.deb packages (with no dependencies) are published in the GitHub releases. Download the one for your architecture and install it with:
sudo apt install ./systemctl-tui_*.deb
Rust
If you'd rather build from scratch you will need Rust installed. Then either:
- Run
cargo install systemctl-tui --locked - Clone the repo and run
cargo build --releaseto get a release binary attarget/release/systemctl-tui
Distro Packages
Arch Linux
systemctl-tui can be installed from the official repositories:
pacman -S systemctl-tui
Nix
A Nix package is available and can be installed as follows:
nix-shell -p systemctl-tui
Optional:
- Alias
systemctl-tuitostfor quick access - Create a symlink so
systemctl-tuican be used with sudo:
sudo ln -s ~/.cargo/bin/systemctl-tui /usr/bin/systemctl-tui
Remote hosts
systemctl-tui --host user@hostname and systemctl-tui --remote manage a remote machine over SSH, no remote install needed.
The remote host needs systemd-stdio-bridge (part of the core systemd package on all major distros; verified working on systemd 249 and 255, and the flags we use exist back to at least systemd 239) and journalctl. Viewing user-scope services requires a running user manager on the remote host (an active session, or lingering enabled via loginctl enable-linger). Editing unit files remotely is not supported yet.
Credits
- Inspired by the truly wonderful Lazygit
syszis so cool- Used
ratatui-templateto get started - systemd code partially taken from
servicer