Terminal productivity software

From Gentoo Wiki
Jump to:navigation Jump to:search

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.

See also
See recommended tools for basic terminal software tools, see recommended applications for graphical software.

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

Name Package Description
asciidoc app-text/asciidoc Converts AsciiDoc formatted text files to DocBook XML or HTML.
asciidoctor dev-ruby/asciidoctor A processor for converting AsciiDoc to HTML 5, XHTML 5, DocBook 5, or manpage.
asciidoctor-pdf dev-ruby/asciidoctor-pdf (GURU) A native PDF converter for AsciiDoc based on Asciidoctor and Prawn.
emacs app-editors/emacs Extensible text editor.
joe app-editors/joe Text editor with key bindings very similar to the first generation word processor WordStar.
m4 sys-devel/m4 A powerful macro processor that can be used with any markup language or even plain text.
Neovim app-editors/neovim A text editor forked from vim focused on extensibility and agility.
TeX app-text/texlive Typesetting markup language for scholarly and technical works made famous by The Art of Computer Programming. Note there are many LaTeX packages in the Gentoo ebuild repository, depending on needed use.
vim app-editors/vim Powerful mode-based text editor. Note there are several vi-like packages in the Gentoo ebuild repository, depending on preference.

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

Name Package Description
bc sys-devel/bc Fixed-point calculator which is powerful but less flexible than a Perl one-liners.
ledger app-office/ledger Powerful double-entry accounting program with a plain text file format, the release of which sparked the Plain Text Accounting movement.
sc-im app-office/sc-im Spreadsheet Calculator — Improvised is a modern full featured spreadsheet program with vim-like keyboard bindings and a VisiCalc aesthetic.

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

Name Package Description
beamer dev-tex/latex-beamer Addon to LaTeX that produces PDF slides.

Email

Name Package Description
alpine mail-client/alpine A modern descendant of the venerable Pine intended to be easy to use by just about everybody.
mutt mail-client/mutt Mutt is a text-based, command-line mail user agent (MUA).
Neomutt mail-client/neomutt NeoMutt is a command line mail reader based on Mutt.

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

Name Package Description
newsboat net-news/newsboat Text-based RSS reader.
podget media-sound/podget Podcatcher written in Bash that is optimized for running as a scheduled task.
sfeed net-news/sfeed Simple RSS and Atom parser.
slrn net-nntp/slrn A text-based Usenet client for distributed messaging and discussion groups.

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

Name Package Description
cmus media-sound/cmus ncurses based music player with plugin support for many file formats.
mpg123 media-sound/mpg123 Console mpeg audio player.
moc media-sound/moc ncurses music player.
mpd media-sound/mpd Server-side application for playing music with its own network protocol.

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.

Name Package Description
i3wm x11-wm/i3 Tiling window manager.
MuPDF app-text/mupdf Lightweight PDF viewer and toolkit written in portable C.
vimb www-client/vimb (GURU) A lightweight vim-like browser based upon webkit.
zathura app-text/zathura Document viewer with vim-like key bindings.

See Also