Internet Relay Chat (IRC) with Screen Multiplexer

Internet Relay Chat and Screen

Internet Relay Chat (IRC) hs been around since 1988 and was created by Jarkko Oikarinen.

IRC was borne out of the need to have a real time communication system while using an operating system to communicate with other users.

IRC is an open protocol that uses Transmission Control Protocol (TCP).

You can read more about IRC in the official Internet Relay Chat Protocol RFC 1459.

During an IRC session, client will send 1 line messages to a server.

I am mostly a terminal user so my ideal irc client would be terminal based.

IRSSI

IRSSI is an IRC client that you can use in Linux, Mac and Windows.

Since I primarily work in Mac OS X I will show how I setup IRSSI on the Mac but you can find you particular install and setup directions at irssi.org/download official website.

IRSSI Mac Setup

Now with that let us get irssi up and running in a terminal environment.

If you have Homebrew installed you can install irssi in one command like this:

brew install irssi

I already have irssi installed in my Macbook Pro as you can tell:

Starting an IRSSI session

You can simply type irssi in a terminal session after installing irssi and you will see a screen like this:

Notice that we are being prompted for a status since we haven’t really connected to anything yet.

Starting a screen session

Instead of simply typing in irssi in a terminal let us first start a screen session.

Screen is a terminal multiplexer that has been around for a long time like over 30 years and has many possible uses.

The nice thing about using screen with irssi is that we can keep a long running session that won’t be interrupted if we decide to logoff of our current computer session and we can detach it for later use.

With that being said if you are already on a mac then you will already have it installed most probably.

We can kill our current irssi session by simply typing /exit or /EXIT in the status prompt in the bottom.

Let us create a new screen session like this:

screen -S irc-chat

We named our screen session irc-chat

Now we will simply type in irssi like we did before except we now have a screen session running as well.

Connecting to a network

In order for us to do anything useful we need to connect to an actual IRC Network.

For the purposes of this blog post we will connect to the Mozilla IRC Server of irc.mozilla.org.

Using the /help in irssi

You can use the /help command in irssi to understand each command and by the way each command begins with the / character in an irssi session.

Let us connect to the irc.mozilla.org irc server with the following command:

/connnect irc.mozilla.org

Once connected you will see a screen like this:

We can type the following command to see a list of all available Channels in the particular IRC Server we are connected to:

/LIST -YES

Notice that we put -YES after our command because of a particular warning prompt you get with the /LIST command

Connecting to Rust

Since we are in a screen session we need to type in Control Character A then [ or C-a [ so that we can scroll back and look at channels.

Reading help menu for /channel command

Let us read some help documentation for the /channel command:

There is quite a bit of options but we will simply type in:

/join #rust-servo

To join the #rust-servo channel.

Now that we have joined we should see a session like this:

Setting a nickname

You can set a nickname by typing in:

/set nick <nick_name>

We can leave an IRC channel by simply typing in /leave and we will leave the channel.

List names of current users in channel

We can see a list of current users in a channel by typing in

/names

You will see a screen like this:

You won’t see any information about the user until you exit the channel so don’t be alarmed:

Private Messenging

You can privately message a user by using there nickname like this:

/msg comey Hello There My friend!

Leaving an IRC Server

We can simply type in:

/quit

to leave the IRC Server.

Detach screen session

Remember that we created a screen session if we want to detach from our current running session we simply type:

Ctrl+a d

Listing screen session

If we don’t remember what we called our screen session then we can simply type in:

screen -ls

and we will see something like this in the terminal:

Reattaching a Screen session

We can simply type in:

screen -r irc-chat

and we will be reattached to our previous irc session:

There is much more you can do with irssi/screen than I have mentioned here and I would suggest trying it out on your own.

Twitter & Github Account

Please follow me at jbelmont @ github and jbelmont80 @ twitter

Feel free to leave a comment if you like.

Until Next Time :)

comments powered by Disqus