Today, terminal-based programs have almost disappeared. GUIs are taking over, whether we like it or not. However, there is still a place for the old command line. Take the internet as an example: everyone’s using Firefox, Thunderbird, and Pidgin for their internet activities. Even though these are great, quality, free software apps, they tend to be bloated. That’s where the terminal comes in.
Since most of this article is for the internet, having an internet connection might be useful. Also, you’ll probably need a computer (preferably running GNU/Linux, as many of these programs don’t run on Windows or OS X). Finally, you’ll need a terminal emulator (which most GNU/Linux distributions come with). Windows users have
cmd.exe, Mac users have Terminal, GNOME users have
gnome-terminal, KDE users mostly use
konsole, and Xfce users often use
xfce4-terminal. Most operating systems also install
xterm or some other terminal program. If your operating system doesn’t have any of these (something I would find hard to believe) there is a list of terminal apps at Wikipedia. And if none of these are installed on your system (something I would find extremely hard to believe), you can always install one using your package manager. As a last resort, try typing
Ctrl + Alt + F1 to exit KDE, GNOME, Xfce, or whatever desktop environment you are using (use
Alt + F7 to go back).
If you are told to run something in
this kind of text, then that means you should copy it into the terminal and hit enter (unless it’s a hotkey like
c. In that case, just type
c into the terminal and it will run automatically).
Lynx: web browsing from the terminal
Back in 1989, a text browser that could browse HTTP and Gopher protocols was born. That browser is still around today. It’s called Lynx. There is absolutely no GUI. All it is is a terminal app with a few different colors. It handles most HTML, supports SSL, and much more. You can even download pictures and movies to view with an external application (like MPlayer). You can use it on servers (which often have no GUI), low resource machines, or just for connecting to the web without all the frills of Firefox. It’s available for Windows, GNU/Linux, and Macintosh (via a fink package or an unofficial build).
Figure 1: Browsing Newsvine.mobi with Lynx
wget: Text-based downloader
Sometimes when downloading a file you don’t need all the bloat of a full download manager like KGet. That’s why I like wget, an HTTP(s) and FTP downloader for Windows and GNU/Linux (with an unofficial build for Mac OS X. It supports incomplete downloads, HTTP or FTP mirroring, proxies, and much more. Just type
wget [URL], replacing
[URL] with the URL of the file, e.g.
http://mirror.cc.columbia.edu/pub/linux/ubuntu/releases/kubuntu/feisty/kubuntu-7.04-desktop-i386.iso, and the Kubuntu CD image will start downloading. You can also use
wget to mirror sites with the
Figure 2: Downloading Kubuntu Feisty with wget
rtorrent: Torrents without a user interface
Sometimes, it’s faster to download a file with the BitTorrent technology than wait for the six thousand other users to leave.
But you don’t always need the chrome and glass of KTorrent or Deluge. Also, GUIs can hog more system resources. That’s why rtorrent was created. It’s a torrent client for GNU/Linux (or Macintosh with an unofficial port from Mac OS Forge) that runs in the terminal and claims to seed up to 3 times the speed of the official BitTorrent client. Just open
rtorrent and type in the URL of the torrent.
Figure 3: rtorrenting the Kubuntu Feisty torrent
Mutt: email without a GUI
I personally love Thunderbird. However, like most Mozilla apps, it can be rather slow. Luckily, we have Mutt for GNU/Linux (and unofficially, Windows and Macintosh as well). It’s a small email client that runs in the terminal. All you do is run it (
c to open a mailbox, and type in the location of the mailbox. For connecting to a remote POP box, type something like
pop:[email protected]/ (
pops:[email protected]/ for SSL). For example, if I had the Gmail account [email protected], I would connect to Gmail by typing
pops:[email protected]. You can also connect to IMAP, mbox, Maildir, MH, and NFS.
Figure 4: Checking my Gmail with Mutt
Finch: IM. No interface required
If you don’t live under a rock, you’ll know what Pidgin (formerly GAIM) is: it’s a GNU/Linux program that lets you connect to the multiple instant messaging networks. But what most people don’t realize is that there is a command line version of it called Finch (the older version is called gaim-text) and it is usually bundled with Pidgin. Just open it up, and start typing! You switch between chats (and the buddy list) using
M - n/M - p to go to the next/previous window.
Figure 5: Chatting with myself in gaim-text. Yes, I was extremely bored
Snownews: RSS reading, terminal style
Want to catch up on the latest headlines, but don’t want to fire up a full GUI just to do it? Then Snownews is for you. It’s an RSS reader that supports proxies, update checking, keybindings, categories, plugins, and even a built-in web browser. All from the command line. To run it, type
h brings up the help window with some helpful commands to get started). You can even import and export OPML files with the bundled app
opml2snow -h for a short help).
Figure 6: Reading the Newsvine.com feed with Snownews
By now, you can see that the terminal is a powerful tool—and I’ve hardly scratched the surface of it. There are tons of alternatives to the programs I mentioned, including cURL (a robust download manager), Links (a browser), ELinks (another browser based on Links), W3M (yet another browser), MPlayer (terminal media player), Irssi (IRC client), and naim (an AIM/ICQ/IRC/CMC instant messenger).