3 февраля 2007 г.

Клиенты Jabber. Часть 3. Продвинутые и эффективные.



Вот, собственно, мы и добрались до самого интересного. А именно - "продвинутых" клиентов: psi, gajim и tkabber. Выбрать лучший среди них невозможно, лично я для себя даже еще не решил, каким же клиентом пользоваться. Каждый из трех клиентов использует свои графические библиотеки: psi - Qt, gajim - GTK2, tkabber - tk. Рассмотрим каждый из них по отдельности.

Tkabber.
статья была исправлена 6 февраля 2007 года


Многоуважаемые читатели меня пристыдили за несправедливую оценку tkabber, за что им огромное спасибо. Итак, начнем с ростера и чата. После небольшой пляски с бубном вокруг конфигов были выбраны шрифт -misc-fixed-...-koi8-r, цветовая схема ocean-deep и набор иконок gabber (как самый приличный на вид). Программа в момент обрела столь милый моему сердцу "экономный" внешний вид, без всякого рода вычурных (и уродливых) символов, с моноширинным шрифтом и изящной темной цветовой схемой. Красота!

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

На борту имеются: компактный интерфейс, работа с вкладками (в том числе дозволено расположить эти вкладки внизу окна, что вызвало мой искренний восторг), звуки (довольно мерзкие - из ICQ Pro, но при наличии рук можно выбрать любые другие - мне, например, звуки kopete нравятся), поддержка транспортов (и даже специализированных иконок для стандартных транспортов - icq, msn и прочие), возможность добавления конференций в контакт-лист (нечто подобное есть в gajim, но там оно неудобнее) и очень удобный инструмент обзора служб:

Отдельной группы для транспортов не предусмотрено: они оказываются "не в списке", отсюда был мой неверный вывод о глюках в работе с ними. На самом деле, транспорты работают отлично. Многопользовательский чат не блещет какими-то изысками, но функцию свою выполняет:

Теперь немного о недостатках. В силу того, что используется tk - часть комбинаций клавиш работает не так, как хотелось бы (например, я иногда нажимаю Backspace, не убрав палец с клавиши Shift, здесь это вставит \b, вместо того, чтобы удалить последний символ), но, полагаю, это настраивается. Еще один недостаток - в работе с несколькими серверами. То есть, сама поддержка работы с несколькими серверами присутствует - достаточно снять флажок "отключиться от остальных", но вот сохранить для подключения больше одного аккаунта мне не удалось - ко второй учетной записи приходилось каждый раз вводить данные.

Gajim. GTK2 и Jabber в действии.

Не буду изменять уже сложившейся традиции и расскажу сначала о GTK2-программе. Gajim - один из самых продвинутых и функциональных xmpp-клиентов. Начну с ростера:

Как видим, все при нем. Работа с транспортами - "на отлично", значки подобраны в соответствии с протоколом, но, к сожалению, не настраиваются. Интересная особенность - ростер можно смотреть отдельно по аккаунтам, а можно использовать общий вид, не разбитый на аккаунты. "Замочек" в строке с названием аккаунта означает, что используется SSL.

Окно чата вызывает особенное умиление. Это как раз тот баланс между излишним аскетизмом и излишней навороченностью, который и нужен клиенту Jabber. Вверху - полоса со значком протокола, ником собеседника, его статусом и состоянием чата (кроме "собеседник печатает" есть еще "собеседник просматривает чат"/"собеседник закрыл окно чата" - такого нет больше нигде!). Программа также использует вкладки:

Многопользовательский чат также удобен, новые сообщения за то время, когда окно было неактивно, отделяются чертой, модераторы отделены от участников.

А вот набор опций меня слегка разочаровал. Не то, чтобы их было мало, но клиент оказался довольно неповоротливым, впрочем, как и многие другие GTK2-программы. Еще одной ложкой дегтя стало отсутствие всплывающего уведомления о новых сообщениях в уже открытых чатах. Не спорю, для новых сообщений и пользователях, изменяющих свой статус есть уведомления с помощью libnotify, но как-либо настроить их невозможно. Собственно, это является единственной причиной, по которой я не пользуюсь gajim постоянно - звук я могу услышать далеко не всегда по объективной причине - днем я слушаю музыку, а ночью выключаю колонки. Держать же окно чата постоянно открытым мне неудобно, я переключаюсь на другой тэг и работаю там. Третьим недостатком gajim стала его тормознутость. Python вообще отличается неспешностью работы. GTK2 ему в этом способствует.

Psi. Кроссплатформенный. Быстрый. Гибкий.

Последним сегодня я рассмотрю, наверное, самый известный jabber-клиент Psi. Он является "самым кроссплатформенным" из рассмотренных мною, так как существует не только в инкарнациях для linux и Window$, но и в версии для Mac OSX. Кроме того, размеры Psi крайне скромны - 3~4 MB. Кроссплатформенная библиотека Qt, как всегда, на высоте. Из всех рассмотренных мною клиентов Psi оказался в рядах самых быстрых. Волей-неволей приходится снять шляпу перед Qt и признать, что в GTK2 я постепенно разочаровываюсь. Посмотрим теперь на саму программу (я немного изменил ее внешний вид в процессе эксплуатации - подключил разнообразные иконки, надеюсь, читатели меня простят. :) ):

Настраиваемые панели, иконки транспортов, сменные наборы иконок, все эти мелочи делают Psi одним из лучших, если не лучшим, клиентом Jabber. Окно чата Psi смотрится чуть хуже, чем окно чата Gajim:

Впрочем, не намного. Информация о том, что собеседник печатает, отражается в цвете его ника в заголовке вкладки - он становится зеленым. К сожалению, это работает не для всех тем Qt/KDE. Так, тема Domino (скришоты Kopete, SIM) отказывалась отображать ник соответствующим цветом. Есть возможность использования компактного интерфейса (только чат и строка ввода).

Для чатов Psi использует отдельные окна. К сожалению, модераторы опять среди остальных пользователей. В остальном многопользовательский чат не уступает Gajim.

Выше я уже сказал пару слов о гибкости Qt-приложений. Развернутые опции позволяют провести очень тонкую настройку. Также, я уже говорил о том, что каждому стандартному транспорту можно назначить иконки, кроме того, существуют транспорты, которые либо редки, либо довольно экзотичны, - в Psi можно настроить иконки и для них, просто введя название транспорта (например, mrim для mrim.jabber.ru - Mail.Ru instant messanger) в соответствующем разделе опций.

Также, приятной особенностью явилась возможность отключения аккаунтов без удаления их из списка. Например, не пользуюсь я Google Talk, но могу включить его в любой момент. Красота!

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

За сим откланиваюсь, в надежде, что мои статьи о клиентах Jabber помогли вам сделать свой выбор, или просто открыть для вас программы, о которых вы не знали.

20 комментариев:

virens комментирует...

Замечательный обзор, хотя я по религиозным убеждениям не пользуюсь системами мгновенного сообщения :-) Но после прочтения этих статей таки захотелось попробовать :-)

vonderer@darkstar комментирует...

virens, спасибо.

Но после прочтения этих статей таки захотелось попробовать :-)
Это лучший знак того, что я пишу не зря. Огромное спасибо. :)

Roman Lagunov комментирует...

По поводу tkabber и шрифтов.

Мне самому стало интересно, как же это настроить :)
Хорошо, что у меня установлен пакет tkabber. В котором идет хорошая документация.

Прочитал я раздел Primary Look-and-Feel, создал файл ~/.tkabber/config.tcl, вставил туда строчки, определяющие используюмый шрифт - и телемаркет.

Вывод: читаем доки, ибо они рулез.

vonderer@darkstar комментирует...

Спасибо, Роман, пристыдил. Позор мне. :) Уже занялся приведением tkabber в надлежащий вид. Содержимое статьи в отношении tkabber пересмотрю и исправлю.

Igor комментирует...

в гаджиме многие настройки спрятались в advanced -> Advanced Configuration Editor. Это раз. Два - гаджим довольно трудно реагирует на хоткеи, в некоторой степени из-за его неповоротливости. Сейчас пользуюсь именно им.
Ага, в psi файлы передаются просто адски, только, кажется, через прокси. Ещё у меня возникали проблемы с добавлением транспорта от другого сервера... В гаджиме такого нет.
tkabber у меня просто не заработал :), да и tk не хочется ставить ради одного приложения, когда есть адекватные замены.

levsha комментирует...

"с другой - довольно уродливый клиент, явно уступающий psi и gajim в плане работы с транспортами." - вывод есть, а описания нет (собственно описания что же не так в tkabber в плане работы с транспортами).
"Вверху - полоса со значком протокола, ником собеседника, его статусом и состоянием чата (собеседник печатает/собеседник просматривает чат/собеседник закрыл окно чата) - такого нет больше нигде!" - хм, один-в-один описание вида tkabber, а написано что нет нигде ;)
К сожалению почему-то только для одного клиента упоминались возможности в плане одновременной работы с несколькими аккаунтами, а это думаю для многих было бы интересно.

vonderer@darkstar комментирует...

Levsha,
Поправил, выразился немного неверно, так будет правильнее:
(кроме "собеседник печатает" есть еще "собеседник просматривает чат"/"собеседник закрыл окно чата" - такого нет больше нигде!)

Про tkabber написал с нуля, спасибо всем, кто пристыдил. :) Я больше так не буду, честно. :-D

vonderer@darkstar комментирует...

Вот так, совершенно неожиданно для себя перешел на tkabber. Еще раз спасибо читателям! :)

levsha комментирует...

Ну, продолжим :)
Отдельной группы для транспортов не предусмотрено: они оказываются "не в списке" - никто не запрещает создать группу и поместить туда транспорты, или поместить транспорты в любую другую группу.
По поводу работы с несколькими логинами (я бы так сказал а не "с несколькими серверами" - возможен же вариант нескольких логинов на одном сервере): не так что бы просто и очевидно, но можно сделать запоминание: настройки нужно вручную прописать в config.tcl , после чего в окне логина между ними можно будет сделать переключение через кнопочку "профили" или клавишами Ctrl+(1-9)

vonderer@darkstar комментирует...

Спасибо за советы. :) Эти вопросы я уже решил.

А как насчет ssl? Я прописывал
set loginconfX(usessl) 1
Однако, меня гложат сомнения, что ssl не включен, так как при подключении к порту 5223 для указанного хоста соединение не проходит...

levsha комментирует...

Насколько я помню в новых версиях tkabber включение "set loginconfX(usessl)" не работает, нужно включать как "set loginconfX(stream_options) ssl"
То, что соединение работает по ssl, видно по надпси "ssl" в правом нижнем углу, на которую можно навести курсор и даже кликнуть чтобы увидеть сертификат.

zet комментирует...

В Psi v0.11-dev муки уже более продвинутые и удобные для модерирования :)

Nikolay комментирует...

А какие проблемы с многоаккаутностью в tkabber`е?
У меня там аккаунт в jabber.ru и в livejournal.com. Две штуки то есть. Автологина увы нет, но при запуске можно выбирать активируемый профайл: CTRL+1 или CTRL+2. Выбираю сначала первый (enter), потов второй (ещё раз enter). Конечно, те две секунды, что на это тратятся не есть хорошо, но пожалуй, что терпимо.

lazy комментирует...

Psi существует также и под OS/2, ради неё специально Qt/2 поддерживают в живом состоянии.

michwill комментирует...

Жаль, что не описано ничего про удаленное управление gajim'ом через dbus и метаконтакты. Ничего подобного в аналогах я не видел

_Andrey_ комментирует...

Использую PSI - пока доволен. Аккаунт на gmail.com и jabber.ru. У первого нет своих транспортов и не сохраняется полная версия vCard. У второго icq-транспорт крив до безобразия - начиная от невозможности залогиниться, и заканчивая кривым до безобразия поиском.

Александр комментирует...

спасибо за статью, наконец то удалил ненавистный pidgin и поставил Gajim, настроил транспорты (mail.ru, icq), рад по уши :)

Анонимный комментирует...

спасиб :) , тоже поменяю пидгина

LinJan комментирует...

По поводу gajim: "клиент закрыл окно"
в psi+ такое тоже работает

Андрей «вон» Т. комментирует...

На момент написания статьи, о существовании Psi+ мне было неизвестно. Но после того, как я попробовал этот клиент, я бы всё равно не стал писать об этом глючном поделии. А вообще сейчас и в Psi 0.13 такое есть.

Отправить комментарий