Skip to content

Latest commit

 

History

History
128 lines (93 loc) · 3.55 KB

File metadata and controls

128 lines (93 loc) · 3.55 KB

G-Systemctl

Test Status Build Status

g-systemctl is a terminal user interface (TUI) for managing system services on Linux and macOS. View, search, filter, and control your service daemons directly from the terminal.

See It In Action

demo.mp4

Features

  • List all system services with status indicators
  • Filter services by name in real-time
  • Start/stop services with a single keypress
  • Cross-platform support (Linux via systemctl, macOS via launchctl)
  • Keyboard-driven navigation
  • Mouse support (scroll to navigate, click to select)
  • Initial filter via command line argument (-f / --filter)
  • Stream service logs in the TUI via journalctl

Prerequisites

  • CMake 3.14+
  • C++17 compatible compiler (GCC 7+, Clang 5+)
  • Linux with systemd or macOS
  • journalctl for Linux service log streaming

Installation

Homebrew

Download the formula from the latest release and install it locally:

curl -LO https://github.com/shakg/g-systemctl/releases/latest/download/g-systemctl.rb
brew install ./g-systemctl.rb

Debian / Ubuntu

Download the .deb package from the latest release and install it:

curl -LO https://github.com/shakg/g-systemctl/releases/latest/download/g-systemctl-linux-amd64.deb
sudo apt install ./g-systemctl-linux-amd64.deb

Linux Binary

curl -LO https://github.com/shakg/g-systemctl/releases/latest/download/g-systemctl-linux-x86_64.tar.gz
tar -xzf g-systemctl-linux-x86_64.tar.gz
sudo install -m 755 g-systemctl-*/g-systemctl /usr/local/bin/g-systemctl

Build from source

git clone https://github.com/shakg/g-systemctl.git
cd g-systemctl
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j$(nproc)
sudo make install

Release Checksums

curl -LO https://github.com/shakg/g-systemctl/releases/latest/download/SHA256SUMS.txt
grep g-systemctl-linux-x86_64.tar.gz SHA256SUMS.txt | shasum -a 256 -c -

Usage

g-systemctl

For full functionality (start/stop services), run with sudo:

sudo g-systemctl

Keyboard Shortcuts

Key Action
Up / Alt+k Move selection up
Down / Alt+j Move selection down
Enter Toggle selected service (start/stop)
Alt+r Restart selected service
Alt+l Stream logs for selected service
Alt+c Close log stream
Page Up / Page Down Scroll the log stream by page
? Show/hide help
Alt+q / Esc Quit
Type Filter services by name
Backspace Delete filter character

Mouse Support

Action Effect
Scroll up/down Navigate the service list, or scroll the log panel when the pointer is over it
Left click service Select a service
Left click action buttons Toggle a service or open its logs
Left click Shortcuts(?) Show help

Command Line Options

g-systemctl --help              # Show help
g-systemctl --version           # Show version
g-systemctl --system            # Show system services (default)
g-systemctl --user              # Show user services
g-systemctl -f <text>           # Start with an initial filter
g-systemctl --filter <text>     # Start with an initial filter

Contributing

Contributions are welcome! Please follow the Contributing Guidelines for details on how to contribute to this project.