TUI for viewing remote logs over SSH
Find a file
SW 6c96818e97
All checks were successful
Release / release (push) Successful in 54s
ci: remove corrupted .deb files before dpkg-scanpackages
2026-09-10 15:43:18 +02:00
.forgejo/workflows ci: remove corrupted .deb files before dpkg-scanpackages 2026-09-10 15:43:18 +02:00
Formula Update formula to 0.1.7 2026-06-18 09:20:04 +02:00
src Color LIVE green and PAUSED red in viewer title and status 2026-06-18 09:19:34 +02:00
.gitignore Initial lview implementation 2026-06-17 21:33:03 +02:00
Cargo.lock Disable mouse capture, improve SSH error handling, add log labels 2026-06-17 21:51:08 +02:00
Cargo.toml ci: switch release workflow to Forgejo, update repo URLs 2026-09-10 14:37:48 +02:00
README.md docs: update install instructions for Forgejo 2026-09-10 14:22:13 +02:00

lview

A TUI for viewing logs on remote Linux machines over SSH. It automatically detects system logs, Docker containers, /opt applications, and the systemd journal.

Installation

macOS (Homebrew)

brew tap janvete/tools https://git.janvete.com/seth/homebrew-tools.git
brew install lview

Debian / Ubuntu (APT)

echo "deb [trusted=yes] https://git.janvete.com/seth/apt/raw/branch/main ./" | sudo tee /etc/apt/sources.list.d/janvete.list
sudo apt update
sudo apt install lview

From source

cargo install --git ssh://git@git-ssh.janvete.com:554/seth/lview

Usage

lview ssh -p22 root@192.168.53.3

All arguments after ssh are passed directly to the system ssh command, so your ~/.ssh/config, SSH agent, and keys are used automatically.

Controls

Log picker

Key Action
j / k or ↓ / ↑ move through the list
Enter open the selected log
/ fuzzy filter the log list
r reload the log list
q quit

Log viewer

Key Action
j / k or ↓ / ↑ scroll
Ctrl+d / Ctrl+u scroll by 10 lines
g / G jump to top / bottom
l or space toggle live preview
/ search in the log (regex, case-insensitive)
n / N next / previous match
s save the current buffer to /tmp
q or Esc back to the picker

Configuration

Create ~/.config/lview/config.toml:

ssh_command = "ssh"
max_log_lines = 10000
discovery_timeout = 10
extra_paths = ["/custom/logs"]

License

MIT