Skip to content

Latest commit

 

History

History
83 lines (51 loc) · 3.35 KB

File metadata and controls

83 lines (51 loc) · 3.35 KB

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