Для общения в IRC под linux существует довольно много клиентов самого разного качества и набора свойств.

Наверно, имеет смысл обозреть вначале самые актуальные клиенты, а потом что-то менее популярное.

Итак, начнём наверно с HexChat. Это клиент на GTK-2 с историей, он наследник другого знаменитого клиента XChat, первая версия которого (согласно википедии) вышла 29 Июня 1999. Клиент обладает классическим внешним видом, снабжён встроенным Ident-сервером, имеет api не только для c-шных модулей, но и для lua, python, perl, javascript и даже может воспринимать некоторые "сигналы" через dbus. Не все api этого клиента одинаково развиты, из полных реализаций можно отметить C(естественно), python и наверно lua, perl api когда-то было передовым, но на сегодняшний день передало эстафетную палочку в этом вопросе python-у. Формально поддерживает проверку орфографии, но эта функция работает мягко говоря иногда. Поддерживает многие современные IRCv3 стандарты.

weechat - пожалуй, самый передовой irc-клиент для консоли, он поддерживает все ircv3 стандарты, проверку синтаксиса (но, правда с подсказками по вариантам слов есть нюансы). Первый релиз состоялся 26 июня 2003 года. Для weechat также можно писать плагины, у него есть api и не только на Си, но и на perl, python, ryby, php, lua, tcl, javascript, guile(scheme). В плане разнообразия api для различных языков weechat - лидер нашего обзора. Из консольных клиентов weechat наверно самый цветастый, авторы уделили цвету много внимания и различные события имеют свою цветовую кодировку. Также у клиента есть два понятия о представлении данных - это window и buffer. Buffer - это аналог вкладки браузера, а window - аналог экземпляра браузера на рабочем столе. На "рабочем столе" может одновременно быть несколько окон, они располагаются не перекрывая друг друга, в тайловом режиме, то есть таким образом, что заполняют весь "рабочий стол". Управление в стиле такого приложения как screen или tmux. Для текстового приложения такое управление вполне себе эффективно и просто.

irssi - тоже консольный клиент. Это клиент с большой историй, первый релиз состоялся в январе 1999 года. К сожалению, irssi не поддерживает всех стандартов IRCv3, в т.ч. server-time в нём реализуется с помощью плагина на перле. Нативно поддерживает плагины на Си и perl-е, есть сторонний модуль реализующий python-ное api, он принят в основную ветку, но вроде бы пока релизов с нативной, встроенной поддержкой python-а не было. Управление тоже похоже на vim-овское, скрещенное со screen-ом. Соответственно, у irssi тоже есть container (аналогичен window у weechat) и window (аналогичен buffer у weechat) и дальше всё тоже самое. Также у irssi есть разные "темы офрмления". Такой цветастости, как у weechat, в irssi нет. Это более консервативный клиент, однако это не мешает ему уверено держать свою долю пользователей, ибо irssi и практичен и удобен, но немного попроще, чем weechat, да и не такая попугайская раскраска, как у weechat, для многих пользователей это, скорее, плюс.

KVirc - QT клиент, в большинстве дистрибутивов собирается с поддержкой KDE, но в некоторых есть возможно установть QT-версию. Особенность развития клиента - отсутствие релизов (согласно github) (однако, в википедии нас обманывают, говоря, что релиз 5.0.0 состоялся 29-го декабря 2017). Клиент с не менее глубокими корнями, чем у Hexchat: первый релиз состоялся в 1999 году. Клиент обладает встроенным скриптовым языком, также можно настроить довольно много нюансов GUI, чем-то похож на HexChat. Реализует у себя много плюшек от текстовых виджетов QT.

quassel - странный представитель клиент-серверной архитектуры. Есть ядро, к которому можно подцепиться клиентской частью и управлять им. Своеобразный клиент с возможностями баунсера. GUI реализован на QT4, раскладка панелек а-ля hexchat. Нет поддержки встроенных языков или какого-либо api. Судя по всему разработка клиента приостановлена, хотя автор клянётся, что собирается выпустить новую версию, в которой много чего будет переделано.

smuxi - C#|Mono-GTK клиент. напоминает quassel по внешнему виду и своей концепции - серверное ядро и оболочка к нему. Вместо расширения функциональности с помощью api, предлагается возможность дёргать хуки (коими могут быть любые программы) на определённые события. Кроме собственно IRC smuxi умеет и в другие протоколы, но нас это мало волнует. Внешний вид может настраиваться, есть текстовый интерфейс а-ля irssi

konversation - входит в состав KDE, интегрирован с системой воспроизведения звуков и адресной книгой KDE, вцелом довольно органично вписыватся в KDE. Не обладает ни API ни встроенныи скриптовым языком. Только базовая функциональность.

chatzilla - xul-клиент с базовой функциональностью для старых firefox и seamonkey.

Продолжим обозрение более экзотическими представителями.

Polari - Irc-клиент для среды gnome с довольно скромной функциональностью, его главное достоинство это малые размеры бинарника для GTK-приложения. С точки зрения функциональности и удобства использования - ничего выдающегося, что в принципе логично.

LostIrc - GTK-приложение с минимальными возможностями, по сравнению с Polari обладает более классическим интерфейсом.

srain - Не только выглядит, но и является каким-то недоделанным, обладает (несмотря на заявленную функциональность) очень ограниченными возможностями. Видно, что это современное начинание, но ui|ux не дотягивает даже до старинных клиентов типа hexchat. Если автор не растеряет энтузиазма, то возможно мы получим telegram-образный IRC-клиент.

ii - irc-клиент от сообщества suckless с полным минимумом функциональности, работает исключительно как fifo. Назвать это клиентом не поворачивается язык - это скорее болванка для оборачивания скриптами.

sic - irc-клиент от сообщества suckless. Этим всё сказано: он обладает минимально необходимой функциональностью для работы с irc. Не поддерживается даже подключение к нескольким сетям, да что уж там - даже к нескольким каналам.

rhapsody - консольный irc-клиент в стиле досовского редактора ms edit. Текстовые меню и всё вот это. Более чем странная эрганомика и несколько необычное управление. Но фанатам win95, fido и прочих таких окаменелостей должно зайти неплохо.

erc - irc внутри emacs

jIRCii - клон ircii написанный на Java.

Ну, и под занавес имеет смысл рассказать о целой плеяде форков оригинального ircii.

ircii - легендарный консольный клиент, разработка которого давным-давно заброшена. Стал основой для многих других клиентов и стандартом де-факто "как должен выглядеть тестовый irc-клиент", от которого отталкивались многие авторы не только консольных, но и GUI-клиентов. Является историей IT-культуры. Проект до сих пор ещё формально жив и изредка выпускает новые релизы. Ircii обладает встроенным скриптовым языком и поддерживает utf-8.

bitchx - также известный как bx, легендарный форк ircii, официально не поддерживает utf-8 (однако есть патч, добавляющий частичную поддержку utf-8) и большинство современных стандартов irc-протокола, последняя версия 1.2.1 датирована 2013-м годом и является багфикс-версией. Скорее, музейный экспонат, чем рабочий irc-клиент. Однако до сих пор встречается на просторах сетей irc среди маргинально настроенных пользователей.

epic4, epic5 - два условно разных клиента: скрипты от первого не едут на втором. Epic5 поддерживает utf-8. Epic5 является переосмыслением идей epic4. Оба не поддерживают возможностей современного IRC-протокола, но тем не менее всё ещё пригодны для общения в irc-сетях за счёт обратной совместимости, предусмотренной протоколом irc. Эрганомика обоих клиентов довольно условна, дают о себе корни далёких 90-х. Ныне epic4 официально не развивается, а epic5 формально находится "на поддержке", но по факту тоже не развивается. Epic4 занимает достойную нишу в истории IT-культуры как один из продолжателей начал, заложенных ircii.

scrollz - очередной форк ircii, на сей раз целью было выкинуть скриптовый движок и интегрировать функциональность популярных скриптов прямо в клиент. Для своего времени это был неплохой клиент.

Наверняка существует ещё масса разных клиентов для IRC, но о них я не написал, так как в руках я их не держал и не знаю что это.

Завершая этот микрообзор, хочется сказать, что популярность тех или иных клиентов для irc - это не веяние моды, она вызвана скорее тем, насколько тот или иной клиент способен удовлетворить потребности пользователя вписываясь в тот или иной рабочий шаблон, адаптируясь под нужды, в том числе по расширяемости и по удобству общения.

Next Post