Irssi — это кроссплатформенный консольный IRC-клиент, написанный на чистом C. Консольные утилиты имеют неоспоримое преимущество перед всякой там GUI’ней вроде HexChat. Например, можно один раз настроить в терминале шрифты и (темную!) цветовую гамму, а все консольные приложения автоматически их подхватят. Да, у GUI приложений в третьем тысячелетии с этим все еще есть проблемы. Qt и разные версии GTK берут свои настройки немного из разных мест. Плюс к этому консольные приложения можно легко запускать на сервере в tmux. Кроме того, в консольных приложениях практически никогда не используется мышь, что я лично нахожу очень удобным. Наконец, обычно они жрут меньше памяти и заряда батареи.

Примечание: Команды, приводимые далее, можно сокращать. Например, можно писать /h вместо /help, /c вместо /connect, и так далее.

Как и все консольные утилиты, irssi имеет чуть больший порог вхождения, чем аналогичные программы с графическим интерфейсом. Но, как нам с вами уже известно, эти дополнительные усилия, приложенные на старте, окупаются с лихвой, так что приступим.

Самая главная команда в irssi — отображение подсказки, общей или по конкретной команде:

1
2
/help
/help server

В любое время из irssi можно выйти, выполнив команду:

1
/quit

При первом запуске irssi создать конфиг по умолчанию ~/.irssi/config. Я советую сразу выйти из irssi и отредактировать конфиг в nano, убрав лишние сети и каналы. Таким образом, в начале конфига должно остаться только:

1
2
3
4
5
6
7
8
servers = (
);

chatnets = {
};

channels = (
);

Также в конце конфига исправляем имя пользователя и никнейм по умолчанию. Должно получиться что-то вроде:

1
2
3
4
5
6
7
8
settings = {
  core = {
    real_name = "Gennady Albertovich";
    user_name = "acid12";
    nick = "acid12";
  };
  "fe-text" = { actlist_sort = "refnum"; };
};

Давайте теперь попробуем зайти при помощи irssi на канал #kernelnewbies.

Добавляем новую сеть:

1
2
/network add -nick acid12 OFTC
/network list

Добавляем к сети сервер:

1
2
/server add -network OFTC -ssl irc.oftc.net 6697
/server list

Добавляем каналы, на которые хотим заходить:

1
2
/channel add -auto #kernelnewbies OFTC
/channel list

Сохраняем конфиг:

1
/save

Кстати, если у вас запущено сразу несколько экземпляров irssi, обновленный конфиг в них всегда можно подгрузить так:

1
/reload

Наконец, подрубаемся к сети:

1
/connect OFTC

Основные хоткеи в irssi следующие:

Alt + (1, 2, …, Q, W, …) — переключение между окнами;
Ctr + N/P, Alt + →/← — следующее/предыдущее окно;
Page Up/Page Down — перемотка сообщений вверх/вниз;

Поиск каналов по названию и количеству человек осуществляется так:

1
2
/list #*linux*
/list #*linux*,>5

Зайти на канал:

1
/join #linux

Список окон:

1
2
/window list
/wl

Перейти в заданное окно:

1
/window 12

Перейти в заданный канал:

1
2
/window goto #linux
/wg #linux

Закрыть окно:

1
2
/window close
/wc

Посмотреть, кто есть на канале:

1
/names

Покинуть канал:

1
2
/leave
/part

Отметиться, что вы отошли:

1
/away Reason

Отметиться, что вы вернулись, можно той же командой, только без указания причины:

1
/away

Проверяем, что в текущей сети можно зарегистрировать ник:

1
/msg nickserv help

Регистрируем ник:

1
/msg nickserv register PASSWORD EMAIL

Для автоматического подтверждения при входе в сеть, что мы те, за кого себя выдаем, говорим:

1
2
/network add -autosendcmd "/msg nickserv identify PASSWORD" OFTC
/save

Проверяем:

1
2
/disconnect OFTC
/connect OFTC

Для подключения к сети не напрямую, а через IRC-баунсер, например, ZNC, все почти то же самое:

1
2
3
4
/network add -nick acid12 ZNC_FN
/server add -network ZNC_FN -ssl SERVER 6696 acid12/freenode:PASSWORD
/save
/connect ZNC_FN

Наконец, следует иметь в виду, что по умолчанию irssi не пишет никаких логов. Самый простой способ исправить это:

1
2
3
/set autolog_path ~/.irssi/logs/$tag/$0/%Y/%Y-%m-%d.log
/set autolog on
/save

Здесь $tag будет заменен на название сети, а $0 — на название канала.

Быстрые клавиши и часто-используемые команды

Клавиатурные сочетания:

  • Alt+(1, 2, …, Q, W, …) – переключение между окнами
  • Ctr+N/P, Alt + → / ← – следующее/предыдущее окно
  • Page Up/Page Down – перемотка сообщений вверх/вниз

Резервное копирование и шифрование конфигурации Irssi

Мы рассмотрели только основы конфигурации Irssi, так как среднестатистическому пользователю, скорее всего, не нужно будет делать что-то большее, чем это. Тем не менее, если вы опытный пользователь и у вас есть много личных вещей в папке ~/.irssi/config, лучше всего хранить зашифрованную резервную копию.

Переход по маршруту шифрования означает, что никто кроме вас не сможет получить доступ к вашему файлу конфигурации. Чтобы начать шифрование, убедитесь, что GPG установлен. Затем откройте окно терминала и зашифруйте ваш конфиг.

1
$ cd ~/.irssi
1
$ gpg -c config

Вывод шифрования должен быть ~/.irssi/config.gpg. Переместите зашифрованный файл конфигурации в папку /home/.

1
$ mv config.gpg ~/

Теперь, когда файл в безопасности, загрузите его в Dropbox, Google Drive и т.д. Расшифруйте файл в любое время, выполнив команду расшифровки в GPG.

1
$ gpg config.gpg
1
$ mv config ~/.irssi

В целом, пользоваться irssi легко и приятно. При этом клиент ничем не уступает HexChat, а в чем-то его и превосходит.