Screen + 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 Screen2.
Screen 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 (screen) 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:
Scr is a little helper program for Screen that will either create a new screen, or if there already is one, resume the previous one.
You can now start a program in this new screen. You can start irssi for example:
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 screen as you just started!
You can either just close the terminal window, or press and hold ctrl and then press a followed by d (ctrl-a d) to detach the screen, and then type exit or logout to log out.
Now let's connect to the shell again. When you're in, use the scr command again to resume the previously started screen.
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 screen (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 screens running, but this is not recommended. It can get very confusing if you are new to screen. If you accidentaly do, just retach them one at a time and exit them. You can list all your screens with this command: screen -ls
To learn more about screen, take a look at the Screen Howto.
Let's now learn some basics of irssi. Start by logging in to the shell and resuming the screen 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 irc.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.
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 -ssl -auto -network BlinkenIRC irc.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 ADD -autosendcmd "/^msg nickserv identify <password>;wait 2000" BlinkenIRC
Replace '<password>' with your NickServ password.
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.
Howto/IrssiTips - Tips and tricks for the irssi IRC client
FAQ/DeadScreen - What to do when you can't resume a screen because it's "dead".
FAQ/Unicode - Enable unicode to make local characters work properly.
Howto/Screen - More on how to use screen.
Howto/Autostart - How to automatically start Screen+irssi when the server starts.
http://irssi.org/documentation/startup - Startup howto on irssi's website.
http://quadpoint.org/articles/irssi - "A Guide to Efficiently Using Irssi and Screen".