A fast, simple TUI for interacting with systemd services and their logs.

systemctl-tui can quickly browse service status and logs, start/stop/restart/reload services, and view/edit unit files. It aims to do a small number of things well.
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.
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 | bashThe script installs the downloaded binary to $HOME/.local/bin by default, but it can be changed by setting the DIR environment variable.
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
systemctl-tui can be installed from the official repositories:
pacman -S systemctl-tuiA Nix package is available and can be installed as follows:
nix-shell -p systemctl-tui- 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-tuisystemctl-tui --host user@hostname manages a remote machine over SSH, no remote install needed. Service operations go over a systemd-stdio-bridge D-Bus connection (like systemctl --host) and logs come from running journalctl on the remote host, all multiplexed over a single SSH connection.
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.
- Inspired by the truly wonderful Lazygit
syszis so cool- Used
ratatui-templateto get started - systemd code partially taken from
servicer
