Kaveh Moravej


Imagine a world of computing free from distractions, an island of blissful peace far removed from the nauseating bloat of most modern software. That land of zen, where you can find your chi, goes by the name of CLI (command line interface).

Fast, efficient and often far more powerful than its GUI (Graphical User Interface) counterparts, practically anything and everything can be done with the right CLI tool (erm, well except, you know, anything involving graphics).

For the last two to three years I have been moving a great deal of my work into the GNU/Linux CLI - something I would have previously thought unthinkable. Several examples of the substitutions that I have made are:

Thunderbird to Mutt (email)
Thunderbird to Khal (calendar)
Various to-do apps to Taskwarrior
Firefox to ELinks
Tiny Tiny RSS web to Newsbeuter
GUI file managers to Midnight Commander or Bash
FileZilla to LFTP
GUI Text Editors (LibreOffice Writer and Gedit) to Vim
Dropbox to OwnCloud (with owcloudcmd and cadaver)
Rhythmbox (music player) to Cmus

Yes, I use a text-based browser, and no, I have not lost my mind. Admittedly I still use Firefox for a great deal of web browsing, but ELinks works perfectly well for most text based pages. On the whole, working without a mouse feels a great deal more efficient and liberating, and of course the security risks from active content are also greatly reduced. A GUI presents a great number of security threats, hence why every respectable server operating system omits a GUI desktop environment. In fact going GUI-free will make you much more adept at managing a server. In addition to the improved security, many of these CLI tools are immensely configurable, and are perfect at doing what they are intended for.

My preferred color scheme is always green text on a black background, which inevitably results in lots of comments along the lines of: "So what are you hacking into?" Or, rather more predictably, something along the lines of: "Blah, blah, blah...The Matrix."

So why would any one subject themselves to an interface resembling a computer from the 1970s or 80s? Greater focus is all good and well you might say, but why not just ignore the clunk and distractions of GUI software, and get on with whatever it is you want to do. What that particular line of argument fails to highlight is the fact that ignoring distractions requires cognitive effort. Why not simply cut away all the distractions and focus 100% on the task at hand?

All of these free and open source applications require an initial learning phase, and - of course - a bold willingness to try something new, but once over with, the speed and focus with which you can execute various tasks makes it all very much worth the time invested. GUI tools will seem like a clunky mess once you get used to their CLI counterparts. I hope to review some of these applications in future posts.

*This post was typed up in the sweet serenity of the CLI, using Vim (yes, that's a word count down at the bottom!):