Command-Line Application Roundup
The cloud notwithstanding, a small but fervent minority still prefers to access e-mail via the console. Whether it's the celebrated speed of text-mode clients or the ability to access one's e-mail and calendar over SSH, command-line productivity applications still have a surprisingly strong following.
Mutt is an e-mail client that supports both reading local UNIX mail spools and retrieving remote mail over POP or IMAP. It's capable of handling everything one would expect from an e-mail client and more. Some notable features include the ability to customize fully the information contained in the mail header and the ability to store different configuration settings depending on the current folder or e-mail recipient.
Alpine is a complete rewrite of the popular Pine e-mail client by the original authors, the University of Washington. It adds support for Unicode among other new features, and it's released under an open-source instead of a freeware license. Alpine supports POP, IMAP, SMTP and LDAP. Unlike Mutt, Alpine is configured using a menu-driven interface that some may find easier to use. People who use Nano as their editor will have a head start, as Nano is a port of the Pico editor, which was included with Pine and has been re-implemented with Alpine. Of course, any other UNIX editor can be set as the composing interface for Alpine.
pal is a powerful calendaring program. It makes full use of terminal color support to highlight events. To-do-style events are supported, and HTML and LaTeX generation allows you to create calendar files for printing. A nifty tip suggested by the author is to add pal to the shellrc file so that it displays every time you open a terminal.
Somewhat unintuitively, console-based multimedia players enjoy wide popularity. Command-line music players can be used to take advantage of better speakers on another machine or to provide the base of a large, multisystem, distributed home-media solution. Even image editing at the console is surprisingly full-featured with tools designed to manipulate batches of images from scripts.
MOC (Music on Console) is a CLI music player that will have a familiar interface to users of Midnight Commander. MOC supports, among others, Ogg Vorbis, MP3 and FLAC. It outputs to ALSA, OSS or JACK and can create and load M3U playlists. MOC utilizes a client/server architecture that allows the user to detach MOC from its graphical interface to reclaim its controlling terminal for other uses, while leaving the playlist still running in the background.
cdparanoia is a CD-ripping tool that subscribes to the UNIX philosophy of doing one task and doing it very well. Designed to be a high-quality ripper that has excellent knowledge of CD hardware, cdparanoia and those tools based on it have a reputation for succeeding where others have failed. cdparanoia will read raw data from a music CD and output it as WAV or 16-bit PCM to either a file or stdout. Encoding to a more usable format and populating that format's metadata will need to be achieved with a different tool. cdparanoia makes up for this minimalism by including smilie characters meaningfully in its status output. So cute!
Music Player Dæmon (freshmeat.net/projects/mpd)
Music Player Dæmon (MPD) is a network-aware music server. It acts as a back-end service for a range of clients to access locally or over a network. It also can act as a music converter, able to utilize various audio input plugins and output to a different output plugin. MPD maintains a music database or library. Playback of local files not in the database is supported only by local clients for reasons of security.
- August 2015 Issue of Linux Journal: Programming
- Hacking a Safe with Bash
- Django Models and Migrations
- Secure Server Deployments in Hostile Territory, Part II
- The Controversy Behind Canonical's Intellectual Property Policy
- Huge Package Overhaul for Debian and Ubuntu
- Shashlik - a Tasty New Android Simulator
- KDE Reveals Plasma Mobile
- Embed Linux in Monitoring and Control Systems
- diff -u: What's New in Kernel Development