A TUI application for managing systemd services.
A TUI application for managing systemd services.
A TUI application for managing systemd services.
This tool allows you to manage systemd services with ease. You can view logs, list services, view properties, edit unit files, and control their lifecycle: start, stop, restart, mask, unmask, enable, and disable using the D-Bus API. It also supports Vim-like navigation. It is possible to navigate between system and user units and choose to list only running services or all units.
View screenshots
systemd-manager-tui
# With a filter
systemd-manager-tui -f docker
After installation, you can create an alias to make it easier to use.
sudo dpkg -i ./systemd-manager-tui_x.x.x-x_amd64.deb
Download the .deb file from Releases
sudo dnf install ./systemd-manager-tui_x.x.x-x_x86_64.rpm
Download the .rpm file from Releases
Build native and cross-compiled binaries, DEBs, and RPMs with:
./build.sh
The script selects the RPM architecture and binary asset automatically. To regenerate packages
from binaries that already exist under target/<triple>/release/, use:
./build.sh --rpm-only
./build.sh --deb-only
./build.sh --packages-only
Before packaging, the script rejects stale binaries, verifies the ELF target architecture, and
runs the binary's --version command when the target is native or a compatible QEMU runner is
installed.
To build or package only one architecture, combine an option with --target:
./build.sh --rpm-only --target aarch64-unknown-linux-musl
./build.sh --skip-native --target x86_64-unknown-linux-musl
yay -S systemd-manager-tui
https://aur.archlinux.org/packages/systemd-manager-tui
nix run github:matheus-git/systemd-manager-tui
NixOS with flakes Read here
chmod +x systemd-manager-tui
./systemd-manager-tui
Download binary from Releases
cargo install --locked systemd-manager-tui
Run the regular test suite with:
cargo test
The regular suite includes unit, application-flow, and Ratatui rendering tests using TestBackend, so it does not require an interactive terminal or a running systemd instance.
Real integration tests against the system and user D-Bus buses are available as an opt-in suite. Run them on a systemd-based Linux host where the current user has an active user manager and both systemctl and systemd-run are available:
cargo test infrastructure::systemd_service_adapter::tests -- --ignored --test-threads=1
The integration suite reads real system units and creates an isolated transient user service to exercise lifecycle operations. The temporary service is stopped and cleaned up automatically. These tests are ignored during a regular cargo test so environments without systemd, such as many CI containers, continue to work.
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
This project is open-source under the MIT License.
No open issues yet, or sync has not completed.