Aller au contenu
← Retour aux projets

Systemctl Tui

#systemctl-tui

Crates.io

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

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:

  1. Run cargo install systemctl-tui --locked
  2. Clone the repo and run cargo build --release to get a release binary at target/release/systemctl-tui

#Distro Packages

Packaging status

Packaging status

#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:

  1. Alias systemctl-tui to st for quick access
  2. Create a symlink so systemctl-tui can 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

Nouvelle version disponible.