Sunday, May 12, 2013

The Linux console ain't dead yet!

Like most computer users, I do the majority of my work (play?) from a GUI desktop, but unlike most users, I use a mix of GUI and console tools. I'm not dogmatic about using console tools for everything though, with the rich content we now have, some things just work better in a GUI (IE: graphic editing/viewing tools, web browser, email client). Some content, on the other hand, still work just fine in a console environment.

One Internet service I use a lot is IRC. I monitor three different IRC channels (not at the same time!), and have used several IRC clients. I started out using an IRC client named "ScrollZ", but moved to "Epic" because ScrollZ wasn't available for Slackware, and I didn't feel like building it from source. I then flirted with "XChat" for a while, but I find most GUI applications tend to take up too much desktop space (why is that, I wonder?), so I went back to using Epic. After a while, curiosity got the better of me, and I decided to give the "Irssi" IRC client a try. The learning curve from the simpler Epic and ScrollZ IRC clients, to Irssi is fairly steep, but not insurmountable. The kind folks at Irssi even make a nice "Startup HOWTO" to help newbies (like me) get accustomed to Irssi. I've been using Irssi for a few weeks now, and have become more accustomed to it. Here is a screenshot of my chat connection to the Vintage Computer channel today:


Another really nice feature of using console programs is being able to multiplex two or more programs, in the same xterm window, at the same time. This is accomplished by using terminal multiplexer programs like "screen" or "tmux". I currently use screen on my Linux computers, and tmux on OpenBSD systems. I use screen, with one xterm window, to run my calendar and RSS reader programs. This works well for me, because I don't tend to need to watch my calendar program all day, just once or twice during the day. Thus allowing me to leave my RSS reader as the program that is in the foreground of the xterm window. The calendar program I use (and have been using for several years now) is "Calcurse". Calcurse is a wonderfully simple, yet full-featured NCurses-based console program that provides me with my calendar for appointments and my to-do list. One really nice feature of Calcurse is you can call it from the command line, with certain parameters, in order to just display appointments or to-do list items directly to the terminal, without having to start the user interface. Here is a screenshot of my Calcurse program:


The other program I run along with Calcurse within screen is my RSS reader. I have used a RSS reader named "Canto" for a few years now, but I have recently been experimenting with a different RSS reader: "Newsbeuter". So far, I'm finding I like Newsbeuter much better than Canto. Newsbeuter is written in C, and is very fast and responsive. It is also very configurable, and fairly simple to operate (once you get the basics down). Here is a screenshot of Newsbeuter, running in my screen xterm window:


Of course, my editor of choice is "Vim". I've been using Vim for many years now, and have become very accustomed to its keybindings and peculiarities. All of the console programs I've been discussing in this post have been configured to use vi/Vim keybindings. Here's the obligatory screenshot of Vim, editing one of my C programs:


The moral of the story here is, Linux tends to lend itself to using mixed-mode applications, and there is an extremely rich library of console based programs that have been used and refined for years. Don't forget or forsake console programs, just because you like a nice GUI on your desktop.

No comments:

Post a Comment