https://github.com/rgwood/systemctl-tui
A fast, simple TUI for interacting with systemd services and their logs
https://github.com/rgwood/systemctl-tui
Last synced: 8 months ago
JSON representation
A fast, simple TUI for interacting with systemd services and their logs
- Host: GitHub
- URL: https://github.com/rgwood/systemctl-tui
- Owner: rgwood
- License: mit
- Created: 2023-08-16T03:02:09.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-03-02T22:39:15.000Z (9 months ago)
- Last Synced: 2025-03-25T05:05:54.228Z (8 months ago)
- Language: Rust
- Homepage:
- Size: 278 KB
- Stars: 752
- Watchers: 9
- Forks: 19
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ratatui - systemctl-tui - A fast, simple TUI for interacting with systemd services and their logs. (💻 Apps / 👨💻 System Administration)
- awesome-cli-apps-in-a-csv - systemctl-tui - A fast simple TUI for interacting with systemd services and their logs. (<a name="system"></a>System tools)
- awesome-cli-apps - systemctl-tui - A fast simple TUI for interacting with systemd services and their logs. (<a name="system"></a>System tools)
README
# systemctl-tui
[](https://crates.io/crates/systemctl-tui)
A fast, simple TUI for interacting with [systemd](https://en.wikipedia.org/wiki/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.
## Install
Note: this project only works on Linux (WSL works _if_ you [have systemd enabled](https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/)). Binaries are published for x64 and ARM64 in the [GitHub releases](https://github.com/rgwood/systemctl-tui/releases), and [distro packages](#distro-packages) are available.
### Binary Release
Automated install/update (don't forget to always verify what you're piping into bash):
```sh
curl https://raw.githubusercontent.com/rgwood/systemctl-tui/master/install.sh | bash
```
The script installs downloaded binary to `$HOME/.local/bin` directory by default, but it can be changed by setting `DIR` environment variable.
### Rust
If you'd rather build from scratch you will need [Rust installed](https://rustup.rs/). 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
[](https://repology.org/project/systemctl-tui/versions)
#### Arch Linux
`systemctl-tui` can be installed from the [official repositories](https://archlinux.org/packages/extra/x86_64/systemctl-tui/):
```sh
pacman -S systemctl-tui
```
#### Nix
[A Nix package](https://search.nixos.org/packages?query=systemctl-tui) is available and can be installed as follows:
```sh
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:
```sh
sudo ln -s ~/.cargo/bin/systemctl-tui /usr/bin/systemctl-tui
```
## Help

## Credits
- Inspired by the truly wonderful [Lazygit](https://github.com/jesseduffield/lazygit)
- [`sysz`](https://github.com/joehillen/sysz) is so cool
- Used [`ratatui-template`](https://github.com/kdheepak/ratatui-template/) to get started
- systemd code partially taken from [`servicer`](https://github.com/servicer-labs/servicer)