How to install and configure irssi
irssi is a command-line IRC client. When properly configured, it can automatically reconnect and re-identify to channels without any user intervention. It is ideal for use on a reliable (always up) Linux server, where your session is maintained between uses via terminal utilities like tmux or screen.
Step 1: Install irssi
Download irssi from the official site or using your favorite package manager. On Ubuntu, run apt-get install irssi. On Gentoo, emerge --ask net-irc/irssi.
Step 2: Install a theme
Themes are available on the official site. I recommend Zenbarn (pictured above).
Step 3: Install scripts
Scripts are available on the official site and should be placed in ~/.irssi/scripts/. I recommend:
- scriptassist.pl Checks for and downloads script updates among other features
- nm.pl Divides nicknames and channel text into two columns
- autoaway.pl Controls your away status depending on your activity
- email_privmsgs.pl Emails unread private messages to you
- ascii.pl Prints text as ASCII art
- dispatch.pl Pass unknown irssi commands to the server
- autoclearinput.pl Automatically clears pending input when you are away
- winnum.pl Goto a window by its reference number with
/## - clones.pl Display clones with
/clones - hilightwin.pl Print hilighted (mentioned) messages to a unified window named "hilight"
- tmux_away.pl / screen_away.pl Set away status when tmux/screen is detached
Load scripts with /script load script.pl
To automatically load a script when irssi starts, create a symbolic link to it in ~/.irssi/scripts/autorun/:
user@host ~/.irssi/scripts/autorun $ ln -s ../script.pl
Step 4: Configure irssi
The following is my ~/.irssi/config file. Add your commonly used networks and enter your personal information. If you decided against zenbarn, set the theme attribute accordingly. Note the additional settings at the end of the file.
servers = (
{
address = "irc.freenode.net";
chatnet = "freenode";
port = "6667";
autoconnect = "yes";
},
{ address = "irc.efnet.org"; chatnet = "EFNet"; port = "6667"; },
{ address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; }
);
chatnets = {
freenode = {
type = "IRC";
autosendcmd = "/msg nickserv ghost mynick mypass;wait 2200;/nick mynick;wait 2000";
max_kicks = "4";
max_msgs = "3";
max_whois = "30";
};
EFNet = {
type = "IRC";
max_kicks = "4";
max_msgs = "3";
max_whois = "1";
};
DALnet = {
type = "IRC";
max_kicks = "4";
max_msgs = "3";
max_whois = "30";
};
};
channels = (
{ name = "#digitalocean"; chatnet = "freenode"; autojoin = "yes"; },
{ name = "#multirpg"; chatnet = "freenode"; autojoin = "yes"; }
);
settings = {
core = {
real_name = "John Doe";
user_name = "mynick";
nick = "mynick";
};
"fe-text" = { actlist_sort = "refnum"; };
"fe-common/core" = {
autocreate_own_query = "no";
autocreate_query_level = "DCCMSGS";
use_status_window = "no";
use_msgs_window = "no";
theme = "zenbarn";
activity_hide_targets = "#multirpg";
};
"perl/core/scripts" = { neat_maxlength = "10"; };
};
hilights = (
{ text = "mynick"; nick = "yes"; word = "yes"; },
{ text = "my nick"; nick = "yes"; word = "yes"; }
);
ignores = ();
Step 5: Start irssi within a tmux/screen session
On Linux, utilities like tmux and screen keep a shell (and programs launched from it) running even after you've disconnected. If you're running irssi locally, you will not need tmux/screen.
Quick start guides are available for both tmux and screen.
With irssi staying open and connected on a server in tmux/screen, you're able to re-attach at any time without missing anything.
Further reading
I recommend reading A Guide to Efficiently Using Irssi and Screen for more on irssi (and screen).
Congratulations @rocketnine! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Do not miss the last post from @steemitboard:
Vote for @Steemitboard as a witness to get one more award and increased upvotes!