Systemctl Tui
#systemctl-tui
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