curse you, ncurses

Tim Chase blinux.list at
Wed Sep 24 15:25:43 UTC 2014

On September 24, 2014, Brian Tew wrote:
> can linux work without ncurses? any distro?

Yes, *linux* will work just fine without ncurses.  The applications
that you run within it may have trouble.  Many console tools
expect to be able to move arbitrarily around and paint on a 2D like editors (vim, emacs, joe, nano, etc), email
programs (mutt, pine, alpine), browsers (lynx, links, elinks, w3m),
file-managers like Midnight Commander (mc), music players like
"cmus", and communication tools like "irssi" for IRC.

That said, you *can* get by far better with just dumb-terminal
braille in Linux than in Windows (especially out of the box), since
Linux (and the BSDs) come with a wide variety of tools at your
disposal and often support a serial terminal with little fuss.

Many times you can just issue "export TERM=dumb" and those programs
that can adapt will do so.  One of the nice things is that a pure
terminal environment (no X) is *incredibly* light on resources, so
you can get just about any old cast-off machine (or a Raspberry Pi)
and load it up with Linux.  For non-curses applications I've listed a
bunch below. Best wishes!


First, I recommend learning & using "tmux" or GNU "screen" to
multiplex your terminals.  This makes it easy to switch between
programs as well as disconnect and reconnect from another machine
right back where you were.  

For text-editing, you have "ed" and "edbrowse" which are remarkably
powerful for line-based editors.  

For web-browsing, I understand that "edbrowse" is able to help you
here.  I've not used it, so I can't speak to it, but it's where I'd
start first.

For email, you have the classic "mail" as well as "mh"/"nmh".  You
would configure a MTA such as "fetchmail" to go out and grab your mail
from a remote server, and sendmail/exim/qmail for sending outbound

For calculators, you have "bc" (just a calculator), "dc" (a
reverse-Polish-notation calculator), as well as just about any REPL
interpreter such as Python which is my go-to command-line calculator.

For calendars, you have "cal" for displaying a given calendar,
"calendar" & "remind" which allow you to track appointments.  I've
tried "remind" and it's crazy powerful.  There's also "gcalcli" which
integrates with Google Calendar.

For task management, there's "devtodo" and Task Warrior ("task")
which have both meet my needs when I needed to track to-do items.

For audio editing, "sox" is the go-to.

For audio playback and recording, "mpg123", "mpg321", and "ogg123"
play back a particular format which I use for a simple "play this one
file" usage, but if you want to have play-lists and jump around in
them, something like "mpd" ("music player daemon") allows you to run a
it in the background and then issue commands to it.

For podcatching, I use "hpodder" and run it as a cron job.

For mixing your audio, there's "amixer" to control volumes,
channel-muting, and input muting/gain.

For chat, I know that "tinyirc" has a dumb terminal interface that
works fairly well for IRC (I've not used it in multiple channels, but
when I need to pop on a channel, ask a question, and then drop off, it
works quite nicely).  I don't know how well "finch" would work with a
dumb terminal.

If you receive Microsoft Word files, you can use "wv" or "antiword"
to extract the text for viewing; and for PDFs with actual text
(rather than images of text, for which you'd need some OCR software;
others here can guide you on that) you can use "pdf2txt" or
"pdftotext" to extract them.

To create documents, markup languages like Docbook, LaTeX, HTML, or
Markdown work just fine.  They can be stored in version-control,
edited with your editor of choice, and transformed into your desired
output format (such as HTML, PDF, .epub, .mobi, etc).

For batch downloading files, I use either "wget" or "curl".

I'd also recommend getting to know a version-control tool like "git"
or "mercurial" ("hg") or "bazaar" ("bzr").  Or Subversion ("svn") if
you must, but the others are far less trouble I've found.  All work
just fine with a dumb terminal.

More information about the Blinux-list mailing list