Is typing on a black screen with white colored text really archaic ?

What are the first things that come in your mind when you see your friend working on a terminal –

“What a hipster”
“That is too main stream for me. I cannot use the terminal”
“What an idiot still using a black and white terminal”

All these arguments look pretty convincing and I may ‘agree’ to a couple of them however what happens when all you are left is just that black and white terminal.
“Nah!! that will never happen to me. I am using Ubuntu with its super cool Unity desktop. My Fedora Gnome 3 machine will never give up on me”, come on go ahead say those things.  If you made those statements in your mind I completely support it. Presuming that you made those statements it would be safe for me assume that you are not a developer, if you were then you would always prefer to work on the latest software which no doubt will crash.

A couple of  weeks back I upgraded my kernel to 3.0.4 and anxiously booted up my system. I was not too surprised when gdm (gnome display manager) refused to start up. My faithful Nvidia driver had done it again. The problem however was extremely straight forward. All that I needed  to do was to recompile the Nvidia kernel module and instruct the X11 config file to load the modules. My theory was sound however I had completely forgotten the required commands. This is were w3m came handy.

w3m is a command line browser which uses ncurses and is fairly comfortable to work with. Unlike lynx you do not need to specify options during the ./configure phase to enable SSL support. You can download w3m and give it a quick try. For starters you can point in to google :

 w3m http://www.google.com

Gmail worked fine however I need a tool which I could use to download the source code from sourceforge.  wget was the obvious tool of choice here. For those new to wget let me start by saying it is an excellent tool which you can use to download  content. It is one of the best application if you have an unreliable internet connection. It automatically resumes from were it last left of. An extremely useful feature of wget is its ability to download content recursively, -level  can be used to specify the depth of recursion.

The funny thing was I could not understand the exact version to download. IRC was the place to go but how do I reach there?  The solution was extremely simple  – irssi. irssi is a brilliant command line IRC client. All you need is knowledge of basic IRC commands which are generic across multiple clients. ‘/’ is used to differentiate commands from chat text. A couple of command to get you started in case you are stuck in a sticky situation –

/server irc.oftc.net
Connects to the the oftc server. Replace the server name with the one you wish to connect to.  A word of advise, if you are using a mobile connection specially Airtel the above command will not connect to the server. You must specify the port number 7000 which by default is 6777 6667.
/server irc.oftc.net:7000

To join a specific channel once you have connected to the server just run –
/join #debian-in
Replace the part after the # with the channel you wish to connect to.

Lets say you have to change your nickname. The /nick command will do the trick.
/nick sh

The above commands should get you connected in no time. There are a zillion other commands but I will cover them in a later post if time permits.

For all those who read IRC and skipped the complete command part (I know many of you did) there is an alternative. Lets continue with the story. Having found the required information I needed on IRC I now wanted to get in touch with an oversees friend who wanted me to trouble shoot his laptop. The problem was he hated IRC and insisted we chat on gtalk. Not a problem, finch to the rescue.

Simply put finch is the back end for pidgen and you can achieve all the functionality from finch as you would from pidgen. It requires some getting used to, but ones you have mastered it there is nothing like it. finch majorly relies on key board shortcuts rather that commands and supports an array of protocols – AIM, IRC, XMPP (facebook, gtalk), Yahoo, MSN (unfortunate) etc.

A quick list of key board shortcuts to get you started –

alt+a  Opens up the a small menu. If you are using finch for the very first time select Accounts. Tab can be used to navigate between between buttons.
alt+c  Will close the current window.
alt+q  Exit finch
alt+n  Cycle to the next window.
alt+p  Cycle to the previous window.
alt+m Move the current window around. Once the window has been highlighted use the arrow keys to move it.

Having finished helping my friend with his system I shifted my attention back to the current task. A small fact I forgot to mention here was that while all this was happening to prevent me from dozing of I was listening to music. Startled command line + listening to music, go on read ahead.

xmms2 is your perfect partner in such situations to keep you entertained. You can do tons of things with it including but not limited to playing music from internet URL (perfect for podcast) , shuffle etc.
There are a whole  bunch of options which can be used with xmms2 fortunately only a couple are needed to get you started.

xmms2 radd ~/Music
xmms2 play
xmms2 next
xmms2 list
xmms2 seek
xmms2 pause
xmms2 play

Most of the above command are self explanatory. radd will add the contents of the ~/Music directory recursively to your default playlist and seek can be used to jump to a specific file.

If you need to adjust your volume fire up the command alsamixer in your command line.

Finally I had got my GUI to work !! A question still remains. How did I manage all these user interfaces simultaneously. If you thought the answer was using tty0 tty1 .. then you could not have been more wrong. Its too irritating to switch between them. Is there a better way? Yes there is.

screen is the answer to your hypothetical question. A small warning here screen is an extremely complex utility. I will however take you guys over some common usage scenarios –

Type the command screen in your terminal, hit enter  and sit back. You will be greeted by an introduction screen, do not read it just hit enter. Now you can use this new session you have just created to fire up programs similar to the way you would do if it were a normal bash terminal. Lets say I run the finch command here and start chatting with my friends. My friend now sends me this really nice article on UEFI BIOS. I need to run w3m to browse this article. So how do I do it without closing finch. Simple really, I just detach the current session. You can do this by hitting the keys crtl+a+d. Once back to my terminal I run the screen command again followed by w3m inside it. To reattach the session you can use screen -r. If there are multiple screens to reattach -r will return all the id’s of the current session. Pass the id of the session you wish to attach to -r (TAB works here). A small note to clear any confusion, detaching a session does not pause or terminate the processes running inside it. They will continue to run.

All said, one more question still remains – “What if I do not have a application and I am too chickened to use apt-get. Is there a alternative, maybe with a rudimentary interface which I can use on the terminal, something like Synaptic Package manager”. The answer is YES, there is. Its called apptitude-curses !!

Advertisements

3 comments

  1. “That is too main stream for me. I cannot use the terminal”

    “Wrong! GUI is too mainstream, hence I will use the terminal”

    But, jokes apart, good stuff.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s