Skip to content

v0.6.0

Latest

Choose a tag to compare

@rgwood rgwood released this 12 Jul 18:16
9dfe6cc

Biggest update in a while. This release has 2 big features (remote hosts and mouse support), plus a bunch of smaller improvements.

Remote host support

You can now browse and manage systemd units on another machine over SSH, with nothing installed on the remote end:

systemctl-tui --host user@hostname

It drives systemctl, journalctl and D-Bus over the SSH connection. On hosts without a working systemd, it fails fast with a clear error instead of hanging. (#89)

Mouse support

The whole UI is now mouse-aware (#93):

  • select and copy text in the logs pane, with wheel scrolling
  • click a service to select it; click details fields (like the unit file path) to copy them, with a toast confirming
  • the action/signal menus, status filter, help screen and popups are all clickable

Status filter

Press f to filter the unit list by state. States are grouped into activation (active/inactive/failed), enablement (enabled/disabled/static/masked) and load buckets, each with a single-key toggle. (#91)

image

Runtime info in the details pane

The details pane now shows PID, memory, task count and CPU time for running units, in a denser layout. (#92)

image

Other improvements

  • unit operations now trigger an interactive polkit prompt instead of failing with a permission error. Thanks @nilsherzig! (#87)
  • better vim-style log navigation: g/G for top/bottom, bigger scroll steps, keybinding fixes. Thanks @leonbohn! (#74)
  • fixed the filtered list hiding top matches after clearing and retyping a search. Thanks @pamarcos! (#83)
  • fixed scroll-to-bottom in the logs pane when lines wrap
  • dependency updates, including ratatui 0.30

Testing

This release also grew a much bigger test suite:

  • tests/integration-test.py drives the TUI end to end in tmux, locally or against a remote host, including a keystroke-drop regression test
  • tests/remote-matrix.py runs the remote suite against containers with real systemd versions (239 to current: Rocky 8, Ubuntu 20.04/22.04/24.04, Debian 12, Fedora), plus 2 hostile hosts (no systemd, systemd installed but not booted) where it must fail fast (#90)
  • CI runs the matrix on every PR