scat

watch and manage your servers over SSH, from the terminal.

scat 0.3.1 · released · release notes

install scat

$ curl -fsSL https://raw.githubusercontent.com/d3m0naz/scat/main/install.sh | bash

This installs scat 0.3.1 (released ).

read more

The installer runs with the first bash in PATH, so Bash 5 is needed first, see “bash 5 or newer” below. It checks the SHA-256 of the release archive before it installs anything, puts scat into ~/.local/share/scat-<version> and links ~/.local/bin/scat. If ~/.local/bin is not on your PATH, add it: export PATH="$HOME/.local/bin:$PATH". To install elsewhere, set SCAT_PREFIX. Releases and checksums are on the releases page.

See SCAT in action!

Demo with made-up servers and numbers: the cursor picks a server, Enter opens its live metrics, Esc goes back.

what it does

bash 5 or newer

scat is a Bash script that runs on the machine you work on. It is written for any system with Bash 5 or newer and the usual Unix tools. So far it has been run on macOS (Apple Silicon); Linux and FreeBSD as the machine running scat have not been tested yet. Check your version with bash --version.

systemhow to get Bash 5
macOSbrew install bash, then put /opt/homebrew/bin first in PATH. The system /bin/bash is 3.2 and is not supported.
LinuxUsually installed already; otherwise apt install bash, dnf install bash or pacman -S bash.

principles

keys

j / k, arrowsmove
PgUp / PgDnmove one page
g / G, Home / Endtop / bottom
Enteropen
a / e / dadd / edit / delete a server
J / Kmove a server down / up
Spacedisable or enable the selected server (greyed out, SSH connection closed)
tgroup headings on / off (this session)
ftemperature in °C / °F (this session)
sssh shell
pprocesses
mmodules (Docker, read only)
xsnippets
c / m / p / nprocesses: sort by CPU, memory, PID, name
Kprocesses: send SIGTERM (asks first)
rrefresh now
?help
q / Escback, quit on the list
Ctrl-Cquit

The terminal needs at least 80×24. In a smaller window scat shows a short notice until the window is large enough again.

remote hosts

Your servers do not need Bash: scat only needs SSH access and a POSIX sh with awk, ps and df there. Tested live: Linux (Debian 13, arm64) and FreeBSD 15 (OPNsense), both with full metrics. macOS hosts work on a best-effort basis.

links