Wednesday, March 3, 2010

Project: Building An All-Text Linux Workstation - Part 12

In this installment, we're going to take a another look at messaging, this time focusing on Internet Relay Chat (IRC).

IRC is a popular text-mode application that finds wide use on a number of platforms.  Of most interest to us, is its use as a tech support tool.  IRC works by allowing a client program talk to a server that is part of an IRC network.  Multiple users connect to the server and organize conversational groups called channels.  Channels are topic-oriented and cater to a wide variety of interests.  The participants of a channel then can converse with one another via a scrolling text display.

The centerim program we recently installed supports IRC in addition to a number of other popular messaging protocols, however, in this installment we will install a dedicated IRC client called irssi.  To install irssi, we simply:

me@linuxbox:~$ sudo apt-get install irssi

To run irssi, we enter the command:

me@linuxbox:~$ irssi

and the initial screen will appear:



The first window displayed by irssi is called the status window.  It is used to display information about server connections and other status messages.  The initial message in the status message is useful as it points us to the program documentation and some specific connection instructions to join the Debian channel at Debian's own IRC server.

As you type, your input is displayed at the bottom of the screen.  Entries starting with a slash character are interpreted as IRC commands and everything else as a message to post.  To connect to the Debian server we type the following command:

/connect irc.debian.org



It will take a few seconds to connect.

By default, irssi will use your system user name as your "nick" or nickname during an IRC session.  It's possible that your user name will conflict with an existing name already registered by a user of that server.  In that case, we will get something like this:



To overcome this problem, we need to choose another nickname.  That is is done by entering this command:

/nick new_nickname

where new_nickname is the name you wish to use.  In the examples that follow, we will use the nickname "linuxbox", but you should make up your own.  We enter:

/nick linuxbox

and if we're successful, the status window will respond:

You're now known as linuxbox

Now that we have a connection to the IRC server, we next need to join a channel.  Channel names start with a the # symbol.  We can join the #debian channel by entering this command:

/join #debian

Next, we will see a list of all the members of the channel scroll by in another window which overlays the status window.



The prompt at the bottom of the screen changes to indicate that we are in a different window.  Within a window, we can use the PgUp and PgDn keys to scroll the window's contents and we can use the Ctrl-p (previous) and Ctrl-n (next) keys to cycle through the available windows.

As we observe the #debian window, it will slowly scroll as members post questions and answers.  If you are not familiar with IRC, you should consult a good tutorial and observe the general practices of the group before jumping in.  Most channels also post links to official guidelines for the channel's use.   You can see the guidelines for the #debian channel here.

To end our session, we enter this command:

/quit

Filtering Output

The default configuration of irssi displays a lot of non-message text in channel windows announcing the comings and goings of members:



To filter this out of a channel, you can use a command like this:

/ignore -channels #debian * JOINS PARTS QUITS NICKS

Saving Your Settings

As you go through the irssi documention, you will see that irssi has a lot of features and capabilities.  After you have changed your settings, such as adding the filter above, you can store your changes by entering the command:

/save

and your changes will be added to the ~/.irssi/config file.

Another Server To Try

Many Linux and FOSS projects have official support channels on Freenode.  You can reach the Freenode server at irc.freenode.net.  Try the #ubuntu, #fedora, etc. channels there.

Further Reading

IRC tutorials:

General IRC background:

Freenode:

irssi documentation:
Other installments in this series: 1 2 3 4 5 6 7 8 9 10 11 12 13 14