Apr 2010

Rolling Back the Clock: Shell only Programs

System Administrators who remember the day when they did not have a graphics display rarely think about wanting to time travel for the pure joy of using a terminal. It is possible, however, to virtually do so by using either all or mostly text only utilities and perhaps a retro looking X windows desktop. In this text a look at a small experiment to see how well that went in one particular instance.

The Bare Essentials

What are the bare essentials? The answer to that of course is it depends. For the purposes of this little experiment the bare essentials were mapped out as:

  • A retro looking X window style
  • Email
  • Instant Messaging
  • irc
  • Some form of entertainment
  • Web browser to be able to read content
  • Music player
  • Flexible FTP Client

There are a few givens about this experiment:

  • The author uses vi (vim) in the shell for editing, always has always will
  • The author always manages files via the command line (so no mc-like tools are needed - although mc is pretty cool)

X Windows

There were two approaches that could have been taken with X windows:

  1. Make a newer window manager look old or...
  2. Install one of the older (but still maintained) Window managers.

Option 2 seemed like the best route for a more authentic feel. fvwm-crystal was used and tweaked to appear retro (although that is very subjective):

img

Irc and IM

The irc utility was pretty easy since the one in use was a command line one anyhow (I have never gotten used to using graphical irc clients), irssi is the client of choice:

img

Instant messaging was a little different, after an aptitude search centerim is what bubbled up:

img

It is worth noting that there is also a centericq command line only ICQ chat client.

Email, FTP and Web

In the *nix world there is always more than one way to do something and often more than one utility, for reading web content three different utilities were given a go:

  • The classic lynx browser
  • links for table support
  • links2 for even newer stuff than lynx

img

img

Email was slightly more complicated, gmail being the provider has the capability to retrieve email via POP3 but getting it over https is slightly complicated. Fortunately a co-worker pointed out this little gem which has a simple step by step procedure to enable access to gmail using the following utilities:

  • msmtp for sending mail
  • procmail for processing mail
  • fetchmail for mail retrieval
  • mutt for mail reading and composition

That list may look daunting but in reality as long as the procedure is followed it can be setup in under five minutes.

img

Finding a flexible FTP client that can do directories, many files, cache passwords etc. was simple: ncftp was it:

img

Entertainment: Music & Games

The music player was the real surprise, there were not many easy to use command line music players available for mp3 formatted music. The one that got dug up is actually a cool terminal interface (using ncurses) called herrie:

img

Fun and games was another easy one, just ran the following commands on Debian:

sudo apt-get install crawl
sudo apt-get install bsdgames

What About Retro Graphics?

One question was what if instead one used as many tools as possible that only run in a terminal but still had some graphical programs (like a browser) that could be retroized? The answer was - in the case of firefox - themes. There are actually a Netscape like (foxscape) and Mosaic theme for firefox that restore some of that old school look and feel:

img

This extended beyond firefox, programs like xclipboard, xload, chimera etc. all provide useful functions in addition to having that early X windows environment look:

img

img

img

Results

The results were interesting, due to circumstance I had to use a graphical browser to take care of work related stuff, however, everything else worked great. It is worth noting that in the past I have used all of the utilities mentioned here for a period of time for one reason or another (for instance I used to secure shell into a mail server and use mutt to read mail locally) so it isn't like this is new so much as a trip back in time. In fact it has worked out so well, I continue to use all of the utilities because for me personally I work faster via a keyboard with less mouse rather than the other way around.

In All Its Glory

Following is a screenshot of everything crammed onto one desktop:

img

For fun I might try the reverse at some point, wonder how what would go?