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 will also be notable enough to have a dedicated page.
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 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.
|
Raku |
dev-lang/rakudo |
Honorable mention here: Raku is a programming language but it supports grammars which are more powerful than PCRE-style regular expressions and much more readable. Like Perl and Ruby, Raku has a one-liner mode that is intended for regular use.
|
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.
|
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
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.
|
notmuch |
net-mail/notmuch |
An email indexing and search tool.
|
RSS readers, podcatchers, and usenet
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
Name
|
Package
|
Description
|
khal |
app-misc/khal |
Modern appointment calendar application for the terminal.
|
taskd |
app-misc/taskd |
Server component to task warrior which enables various subscribers, including mobile phone apps.
|
TaskWarrior |
app-misc/task |
To-do list with scheduling, task prioritization, and tagging.
|
Web browsers
Name
|
Package
|
Description
|
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.
|
Miscellaneous
Name
|
Package
|
Description
|
pastebinit |
app-text/pastebinit |
Send anything you want directly to a pastebin.
|
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 keyboard bindings that are intuitive to vim users and others do not.
See Also