Skip to content

Terminal User Interface (TUI)

Terminal or Text User Interface apps are light on resources and most effective for people who prefer keyboard driven control.

TUI's tend to use a lot less resources and therefore perform very well, regardless of operating system and available resources (CPU, Memory, Disk space, etc.).

NCurses - the original TUI library

NCurses is a programming library for creating textual user interfaces that work across a wide variety of terminals, written to optimize commands sent to the terminal to reduce latency when updating the displayed content.

NCurses - Wikipedia

Link to latest GitHub release

Use this form to link to a specific asset for the latest release of a GitHub project.

https://github.com/account/repository/releases/latest/download/asset-filename.extension

GitHub releases - link to releases

DRA - Download Release Assets from GitHub

DRA - Download Release Assets from GitHub

Disk Management

Viewing disk usage and coppying disk images to removable medial (e.g. USB memory sticks).

Caligula

Caligula is a TUI for imaging disks, often used to create a USB boot disk for Linux distributions.

A TUI alternative to the dd command.

Install options:

  • GitHub release binaries for Linux and MacOSX (darwin)
  • Arch Linux package pacman -S caligula
  • Debian Linux has a request to package discussion

Caligula is created with the Rust Language and can be installed via the caligula crate.

Caligula copying an image to /dev/sdb

ncdu disk usage

ncdu is an ncurses disk usage analyser.

apt install ncdu
sudo pacman -S ncdu

ncdu disk usage analyser

diskonaut

diskonaut disk usage explorer is a visual treemap representation of disk space usage. Delete files or directories and diskonaut will track how much space you've freed up in this session.

diskonaut disk usage explorer

OS Monitoring

Btop

Btop latest release -

https://github.com/aristocratos/btop/releases/latest/download/btop-x86_64-linux-musl.tbz

Bottom Btm

bottom (btm) graphic process & system monitor.

apt install
sudo pacman -S btm

bottom (btm) in action

envx environment variable manager

envx environment variable manager.

Environment Variable Manager explore variables

Version Control

LazyGit

A Git client...

Gitu

Gitu git client inspired by Magit.

Gitu

sudo pacman -S gitu

API tools

fx json navigator

fx for viewing and effectively navigating JSON. A TUI version of jq.

Fx navigating JSON data

jwt-ui

jwt-ui Decoding and encoding JSON Web Tokens, for inspecting and debugging.

GitHub releases

pacman -S jwt-ui

jwt-ui

Tracking Work

GitHub CLI

Jirust

Jirust Jira in the terminal.

Jirust in action

Lt - Linear client

lt view issues from Linear.app issue tracker & project management tool.

NOTE: read only client initially

lt showing issues and details

isw - pomodoro timer

https://gitlab.com/thom-cameron/isw

https://gitlab.com/thom-cameron/isw/-/raw/main/repo_assets/screenshot.png

File management

nnn

nnn

Install via OS package manager (Debian, Arch, etc)

apt install nnn mediainfo libimage-exiftool-perl atool patool vlock lftp sshfs

NOTE: libimage-exiftool-perl is installed instead of 'exiftool'

nnn.nvim plugin

Vifm Vim-like file manager

Vifm is a curses based Vim-like file manager extended with some useful ideas from mutt. Vifm uses common vim-style key bindings to navigate and manipulate files and directories.

Vifm is packaged for Linux/Unix based operating systems. An AppImage is available if an OS package is not available.

apt install vifm

igrep interactive grep

igrep

igrep

Hardware

kbt keyboard tester

kbt is a keyboard tester that supports multiple keyboard layouts.

NOTE: wayland support pending

Bluetui

Bluetui for managing bluetooth on Linux.

bluetui showing bluetooth devices

Blendr bluetooth analyser

blendr to inspect, search, connect, and analyse data coming from BLE devices directly from your terminal.

Designed for BLE engineers to useful search, create a direct connection to any characteristic and device with one command, and displaying your custom services names in the UI.

blendr screen shot

Website readers

Feedr

Feedr to manage and read RSS feeds with elegant visuals and smooth keyboard navigation.

Install from GitHub release or via Rust Cargo.

bbcli BBC News reader

bbcli news reader from BBC.co.uk with vim-style navigation.

--feed argument to show a specific news topic.

# List top stories
bbcli list

# List from specific feed
bbcli --feed world list
bbcli --feed technology list
bbcli --feed business list

bbcli showing news from bbc.co.uk

To Categories

fzf-make

fzf-make Tui for make, just, pnpm, yarm, task. Search and browse task definitions, keeping a history of tasks used.

Install via Rust Cargo, Arch Linux, Nix, Homebrew

fzf-make in action

csvlens

csvlens explorer for Comma Separated Values (CSV data). Supports basic vim-style navigation.

cvslens exploring a CSV file

xan

xam process CSV files from the shell, previewing data as graphs.

xam facet grid example

flawz

flawz to browse security vulnerabilities (CVEs) in the NVD database from NIST.

Install from GitHub releases, Arch Linux, Homebrew, Nix, NetBSD.

flawz browsing security vulnerabilities

GPGTui

GPGTui for GPG interactive key management (listing/exporting/signing) with command-line fallback for complex operations.

GPGTui

md-tui

md-tui for viewing markdown files.

mprocs

mprocs

iamb matrix client

iamb Matrix client for the terminal that uses Vim keybindings.

iamb in action

oxker docker containers

oxker view and control docker containers.

oxker in action

ttyper

Test and enhance your typing skills. Typer provides a detailed report of your typing skills.

Typer typing test and reports

TTYPR

TTYPR is a simple, lightweight typing practice application.

TTYPR in action

Installed via Rust Cargo package manager.