Edit History Actions Discussion

Howto/IRC

Howto: IRC

tmux + irssi = <3

In this howto you will learn how to use your shell account for possibly the best IRC solution possible ;) We will concentrate on how to connect to IRC with the IRC-client irssi1 and how to stay connected even when your computer is turned off via a program called tmux.

tmux

tmux is a program that creates a virtual terminal inside your shell. You can then "detach" or "attach" this virtual terminal when you log in and out from your shell account. The programs you have running inside the virtual terminal (tmux) will keep running on the server after you've logged off. Perfect for IRC, this way you will always be able to see what's been said in the chat while you were away/sleeping etc.

Start by logging in to your shell account and type the following command:

tmux new -As irssi

This will create a new tmux session called "irssi". You can now start a program in this new tmux session. Let's start irssi:

irssi

You can now start chatting away, but before you start learning more about irssi let's see how you can disconnect from the shell and then resume the same tmux session as you just started!

You can either just close the terminal window, or press and hold ctrl and then press b followed by d (ctrl-b d) to detach the tmux session, and then type exit or logout to log out.

Now let's connect to the shell again. When you're in, use the tmux a command again to resume the previously started session.

tmux a

Now you will be back in the program irssi you started before. This program kept running on the server the whole time you were disconnected!

To exit a tmux session (destroy it, not just detach), exit the programs running inside it (/quit in irssi) and then type exit or logout.

It's possible to have multiple sessions running, but this is not recommended. It can get very confusing if you are new to tmux. If you accidentaly do, just retach them one at a time and exit them. You can list all your sessions with this command: tmux list-sessions

Another program very similar to tmux is GNU Screen, take a look at the Screen Howto if you prefer to use that.

Irssi

Let's now learn some basics of irssi. Start by logging in to the shell and resuming the tmux session if you're not already connected. In irssi there is a command promt at the bottom. This is where you write messages and type in commands.

Before you can start chatting, you have to connect to an IRC server and join a channel. If you use the standard config for irssi (which you probably do), then you won't have to connect manually. Instead you should automatically get connected to our home IRC network and joined into #blinkenshell.

If not (or if you want to learn how to connect to other IRC networks), use these commands to connect and join:

/CONNECT -ssl irc0.blinkenshell.org 6697
/JOIN #blinkenshell

The first command connects to BlinkenIRC server. This might take a couple of seconds, so wait a bit before typing in the next command. The next command will join you to our IRC channel #blinkenshell.

Now you are connected, and you have two "windows" open in irssi. One with the server messages and one with #blinkenshell. To change between them press and hold the ALT-key while pressing the 1-9 on your keyboard. ALT-2 will change to the second window, which should be the #blinkenshell channel. ALT-1 will change back to the server message tab. Go to the second tab with ALT-2 and say hello to us! (You can also change windows by typing /win 2 etc.)

When you want to turn off the computer just close the window and you can then resume the screen the next time you want to use IRC and your session of irssi will be there waiting for you, running at the server at all times!

You can connect to multiple networks by issuing the /connect <server> command several times. When you issue the join command, it will join the channel on the network that is currently selected. You can switch between the networks by pressing ctrl-x. To list all active connections to IRC networks, type /server.

Autoconnect

Again, you don't have to do this if you already automatically gets connected to IRC.

Start irssi and type these commands to automatically join the official IRC channel each time you start irssi:

/SERVER ADD -network BlinkenIRC -tls -auto irc0.blinkenshell.org 6697
/CHANNEL ADD -auto #blinkenshell BlinkenIRC

Next time you start irssi, the program will automatically connect you to BlinkenIRC and join our channel.

You can also specify other networks and channels of course, just remember to not connect to any network twice!

You can also make irssi automatically identify with NickServ when you connect to the network with the following command:

/NETWORK MODIFY -sasl_username <nickserv_username> -sasl_password <nickserv_password> -sasl_mechanism plain BlinkenIRC

Replace '<nickserv_username>' '<nickserv_password>' with your NickServ account details.

Use /save to save your changes. The configuration will be written to the file .irssi/config in your home directory. If you get confused about what networks you're getting auto-connected to or want to change an address, it might be easier to change in the config file.

If you have a couple of channels in irssi that you have configured with autoconnect, you might want them to appear in the same windows every time you start irssi. You can move your windows around by changing to the window you want to move, and issuing the command: /window move 3 to move that window to position 3 for exmaple. You can then save the "layout" of your windows with the command: /layout save.

Added functionality via scripts

You can load scripts to provide additional functionality. You can find pre-installed scripts in /usr/share/irssi/scripts

Descriptions of what the scripts does can be found by viewing the script in a text editor like nano and reading the comments at the top of the source.

To load a script, type:

/SCRIPT LOAD trackbar.pl

To add autoload scripts when starting irssi, you can add a symlink like this:

cd .irssi/scripts/autorun
ln -s /usr/share/irssi/scripts/trackbar.pl ./

You might have to create the directories scripts and autorun if you have not used scripts before.

Explanation of some common and useful scripts

  • trackerbar - Prints a line where you last left of in a channel, so you easily can pick up your reading in the log when you check back.
  • screen_away - Automatically sets your status to away if you detach your screen.
  • usercount - Adds an item that displays the number of users in the statusbar.

More