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

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

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

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

/help
/help server

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

/quit

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

servers = (
);

chatnets = {
};

channels = (
);

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

settings = {
  core = {
    real_name = "Gennady Albertovich";
    user_name = "acid12";
    nick = "acid12";
  };
  "fe-text" = { actlist_sort = "refnum"; };
};

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

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

/network add -nick acid12 OFTC
/network list

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

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

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

/channel add -auto #kernelnewbies OFTC
/channel list

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

/save

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

/reload

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

/connect OFTC

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

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

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

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

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

/join #linux

Список окон:

/window list
/wl

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

/window 12

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

/window goto #linux
/wg #linux

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

/window close
/wc

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

/names

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

/leave
/part

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

/away Reason

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

/away

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

/msg nickserv help

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

/msg nickserv register PASSWORD EMAIL

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

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

Проверяем:

/disconnect OFTC
/connect OFTC

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

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

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

/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 установлен. Затем откройте окно терминала и зашифруйте ваш конфиг.

$ cd ~/.irssi
$ gpg -c config

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

$ mv config.gpg ~/

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

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

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