Gitpedia

Journalview

JournalView is a lightweight, terminal-based application written in Rust that allows users to efficiently view, filter, and navigate system logs from journalctl.

From codervijo·Updated May 20, 2026·View on GitHub·

**journalview** is a JournalView is a lightweight, terminal-based application written in Rust that allows users to efficiently view, filter, and navigate system logs from journalctl. The project is written primarily in Rust, distributed under the MIT License license, first published in 2024. Key topics include: journalctl, journald, log-viewer, log-visualization, ratatui.

Latest release: v0.0.43Release v0.0.43
May 20, 2026View Changelog →

JournalView

A fast TUI for journalctl — pick a unit, scroll the logs.

<!-- TODO: replace with demo.gif or asciinema cast -->

crates.io
CI
License: MIT
Downloads

jview1

Why JournalView?

journalctl is powerful but pages of text are awkward to navigate, and remembering -u <unit> for every service gets old fast. JournalView is a lightweight terminal UI written in Rust on top of Ratatui: it lists your systemd service units in a side panel, lets you pick one with the keyboard, and shows that unit's journal in a scrollable pane next to it. If no unit is selected it falls back to journalctl --since=yesterday. No daemon, no config — just a binary that shells out to journalctl and systemctl.

Features

  • Three-pane layout — left: systemd service units; top right: search box; bottom right: log view; bottom: help line.
  • Unit-scoped log view — pick a .service unit with Enter and the log pane refreshes with journalctl -u <unit>.
  • Pure keyboard navigationTab cycles panes, arrow keys scroll vertically and horizontally inside each pane.
  • No config to write — works out of the box on any host where journalctl and systemctl are on $PATH.
  • Search boxTODO/WIP: typing in the search pane is captured but does not yet filter the log view. Tracked in ROADMAP.md.

Comparison

Cells marked TODO need confirmation against current upstream behavior — see issue tracker.

CapabilityJournalViewjournalctllnavlazyjournal
Interactive TUIYesNo (pager only)YesYes
Reads systemd journalYes (shells out)Yes (native)TODOTODO
Built-in unit pickerYesNoTODOTODO
Live tail / followNoYes (-f)TODOTODO
Regex search inside the TUINo (WIP)Yes (-g)TODOTODO
Reads arbitrary log filesNoNoTODOTODO
Single static binaryYes (Rust)n/a (ships with systemd)TODOTODO

Installation

Prebuilt binary (Linux)

bash
curl -sL https://github.com/codervijo/journalview/raw/main/install.sh | bash

This installs to ~/.local/bin/journalview. Make sure ~/.local/bin is on your $PATH.

From crates.io

bash
cargo install journalview

From source

Ensure Rust is installed (see rustup.rs), then:

bash
cargo install --git https://github.com/codervijo/journalview.git journalview

Other package managers

  • Homebrew — TODO
  • Arch (AUR) — TODO
  • Standalone release binaries — see the releases page (added by the release workflow on tag push).

Requirements

JournalView shells out to journalctl and systemctl, so it expects a Linux host with systemd. It does not need root, but it can only show journal entries the current user is allowed to read.

Usage

Launch:

bash
journalview

The UI opens with the Logs pane focused, showing journalctl --since=yesterday. Tab cycles between Logs → Selector → Search → Logs. In the Selector pane, move the cursor with Up/Down and press Enter to filter the log pane by that service unit.

Hotkeys

KeyPaneAction
TabanyCycle to the next pane
q / QanyQuit
Up / DownLogs, SelectorScroll vertically
Left / RightLogs, SelectorScroll horizontally
EnterSelectorFilter the log pane by the highlighted service unit
Up / DownSelectorAlso clears the active unit filter
any characterSearchAppend to search buffer (filtering not yet wired up — see ROADMAP)
BackspaceSearchDelete last character from the buffer
Enter / EscSearchLeave the Search pane

Contributing

Contributions are very welcome. See CONTRIBUTING.md for dev setup, the test loop, and the PR process, and have a look at issues tagged good first issue for a starting point.

License

This project is licensed under the MIT License.

Acknowledgements

Thanks to the following projects for inspiration:

Inspired by the functionality of journalctl and enhanced by the capabilities of Rust for high-performance, terminal-based tools.

Contributors

Showing top 2 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from codervijo/journalview via the GitHub API.Last fetched: 5/31/2026