Terminal productivity software are applications designed to run within the constraints of a text-based terminal window that are typically associated with GUI-based office productivity software.
The reasons for preferring a terminal application to a graphical one are varied and numerous. Sometimes this can be for practical reasons, for example vision impaired users may find terminal software easier to integrate into their screen readers. Alternatively, a user may simply find the terminal less distracting than a graphical environment, find the keyboard interface more productive, or just prefer the simple aesthetic a terminal offers.
Some activities are strongly associated with one or more human readable text file formats and others are not. The following is not a complete list, but represents a sampling of terminal based productivity software.
Adding to this page
The applications listed here should be widely useful, and of sufficient quality, to merit inclusion.
If you regularly use a desktop software package from the Gentoo repository and can confirm it is of excellent quality, stable and of broad appeal for common tasks, please add it to the list! The software should at least be maintained (i.e. relatively recent commits to the source; have periodic releases; not have too many reported bugs; most bugs should be getting fixed rather than accumulating, etc.), and preferably be well documented and from the stable branch. Please don't use this page just to promote a package because you like it, are an author or have other interest, etc.
It is good practice to create a stub article for any package added here that does not have a page already, as anything notable enough to be listed here is notable enough to have a dedicated page.
Adding New Terminal Productivity eBuilds to Portage
If you have the skills to maintain ebuilds and want to see Gentoo support more terminal productivity applications:
- Check the GURU repository to see if there is anything that can be stabilized and brought over to the Portage tree.
- Check this list of Awesome TUIs and other similar lists on web.
Word processing, text editing, and document creation
Office document file format conversion
Name
|
Package
|
Description
|
antiword |
app-text/antiword |
Tool for extracting optimally marked-up text from legacy MS Word binary .doc files, an aging but lightweight alternative to using LibreOffice in headless mode to accomplish the same task.
|
docx2txt |
app-text/docx2txt |
Tool for extracting text from Microsoft Office Open XML .docx files.
|
fictionup |
app-text/fictionup |
A tool for converting Markdown formatted text to FB2 ebooks format.
|
mdbook |
app-text/mdbook |
A tool for creating ebooks from markdown formatted text files.
|
pandoc |
app-text/pandoc |
Tool for converting between document formats with its own flavor of Markdown.
|
pdftk |
app-text/pdftk |
gcj-free version of pdftk written in Java.
|
unrtf |
app-text/unrtf |
Tool for extracting text from Microsoft Rich Text .rtf files, once the "lowest common denominator" between otherwise incompatible office products.
|
writerperfect |
app-text/writerperfect |
A tool for converting WordPerfect, Microsoft Works, and other legacy document formats to .odt or .epub.
|
Document searching
Name
|
Package
|
Description
|
grep |
sys-apps/grep |
The classic tool for searching text with a fixed string or a PCRE compatible regular expression pattern.
|
Perl |
dev-lang/perl |
Perl is a programming language but it has a one-liner mode and supports very advanced regular expressions for non-recursive searching text. It's often thought of as grep and awk on steroids.
|
Raku |
dev-lang/rakudo |
Raku is a programming language but it supports a one-liner mode and has grammars for recursively searching text. It's often thought of as a highly readable grep and awk on steroids.
|
ripgrep |
sys-apps/ripgrep |
Modern recursive text searching tool with PCRE support.
|
sgrep |
app-text/sgrep |
Add structural criteria to grep and index text, SGML or XML.
|
Spelling and grammar checking
Name
|
Package
|
Description
|
aspell |
app-text/aspell |
A tried and true free and open source spell checker.
|
diction |
app-text/diction |
adds diction for grammar checking capability and style for readability analysis.
|
hunspell |
app-text/hunspell |
A spell checker, morphological analyzer.
|
vale |
app-text/vale |
(GURU) A syntax-aware linter for prose built with speed and extensibility in mind.
|
Spreadsheets, calculators, and accounting ledgers
Simple databases
Name
|
Package
|
Description
|
jq |
app-misc/jq |
A tool for querying JSON data written in C.
|
xmlstarlet |
app-text/xmlstarlet |
A tool for querying, transforming, and validating XML documents.
|
yq |
app-misc/yq |
A tool for querying and processing YAML, TOML, JSON, and XML.
|
Presentation software
Email and Usenet Newsreaders
Name
|
Package
|
Description
|
alpine |
mail-client/alpine |
A modern descendant of the Pine email client and Usenet newsreader, intended to be easy to use by just about everybody.
|
mutt |
mail-client/mutt |
Mutt is a text-based email client and Usenet newsreader, intended to be highly customizable.
|
neomutt |
mail-client/neomutt |
NeoMutt is a command line email client and Usenet newsreader forked from mutt.
|
newspost |
net-nntp/newspost |
A usenet binary autoposter for Linux.
|
nzbget |
net-nntp/nzbget |
A command-line based binary newsgrabber supporting .nzb files.
|
sabnzbd |
net-nntp/sabnzbd |
Binary newsgrabber with web-interface.
|
slrn |
net-nntp/slrn |
The classic text-based newsreader, akin to mutt.
|
tin |
net-nntp/tin |
A threaded NNTP and spool-based Newsreader.
|
Email utilities
Name
|
Package
|
Description
|
abook |
app-misc/abook |
A text-based address book program designed to use with Mutt and Neomutt.
|
htag |
app-text/htag |
Adds randomizable signatures to emails such as pithy quotes.
|
muttprint |
app-misc/muttprint |
A tool for printing beautified emails from mutt.
|
mutt-wizard |
mail-client/mutt-wizard |
A system for automatically configuring neomutt and isync.
|
notmuch |
net-mail/notmuch |
An email indexing and search tool.
|
RSS readers and podcatchers
IRC and other chat clients
Name
|
Package
|
Description
|
irssi |
net-irc/irssi |
A modular highly scriptable terminal-based IRC client with a long history.
|
Profanity |
net-im/profanity |
A ncurses-based XMPP client inspired by irssi.
|
WeeChat |
net-irc/weechat |
A portable highly scriptable terminal-based chat client that supports IRC among other protocols and has optional web and GUI interfaces. Popular as an IRC bouncer.
|
Time management
Web browsers
Name
|
Package
|
Description
|
curl |
net-misc/curl |
A command line tool for sending and receiving data over many protocols, including HTTP/HTTPS.
|
elinks |
www-client/elinks |
Well-established text-mode web browser.
|
links |
www-client/links |
Early, interactive web browser for the terminal.
|
lynx |
www-client/lynx |
Console-based web browser with SSL support.
|
w3m |
virtual/w3m |
More modern terminal-based web browser with support for image rendering (note there are several versions in the repository: this is a virtual package).
|
wget |
net-misc/wget |
Non-interactive tool for fetching content from the web.
|
Multimedia
PDF viewing
Name
|
Package
|
Description
|
less |
sys-apps/less |
Terminal pager that can automatically run pdftotext from app-text/xpdf if it happens to be installed, and allow PDF files with embedded text to be rendered on screen. Obviously, this does nothing if the file is purely image-based, such as a scan of a printed file. This occurs due to Gentoo's default LESSOPEN environment variable pointing to /usr/bin/lesspipe.
|
pstotext |
app-text/pstotext |
A tool for extracting embedded plain text from PostScript and PDF files.
|
tesseract |
app-text/tesseract |
An OCR tool that can be used to pull text from images, including PDF files that lack embedded text, which a terminal pager can handle.
|
xpdf |
app-text/xpdf |
A PDF viewer and collection of tools for extracting data from PDF's, especially pdftotext and pdftohdml.
|
File Managers
Terminal Multiplexers
Miscellaneous
Honorable mentions
The following software is not terminal-based, but strongly prefers keyboard input to mouse input and is thus closely adjacent to terminal productivity software in spirit if not in fact. Some of these applications have default keyboard bindings that are intuitive to vim users and others do not.
See Also
External Resources
- Awesome TUIs — a curated list of terminal applications from all over the web.
- https://suckless.org/ — a collection of minimalist programs that do one thing well. Most programs are terminal-based applications but a few are related to the ultra minimalist dwm Window manager.