Знакомство с mcabber

MCabber - это текстовый Jabber-клиент поддерживающий SSL, PGP, историю, конференции и кучу XEP (тут список), но к сожалению не поддерживающий регистрацию на сервере.
Так же позволяет отправлять чистый xml поэтому можно и поизвращаться
И на данный момент поддерживающий всего один аккаунт.

Для первого запуска mcabber нам понадобится создать файл конфигурации, а лучше скопировать файл примера (из исходников или из пакета)
 mkdir ~/.mcabber 
сhmod 0700 ~/.mcabber # обязательно
# пример для archlinux
cp /usr/share/mcabber/example/mcabberrc ~/.mcabber/mcabberrc

Хотя можно его и не создавать, но тогда придется вводить информацию о логине вручную, к тому же с помощью конфигурационного файла можно настроить mcabber на свой вкус (на то он и конфигурационный)

Первое что нам понадобится это прописать в конфигурационном файле ваш сервер, имя и пароль(можно не вводить), а так же по необходимости порт
set username = логин
set password = пароль
set server = сервер
set port = 5222
# ну и ник по умолчанию для конференций
set nickname = muhas

Если у вашего сервера используется ssl, то обратите внимание на опцию set ssl и её производные.

После сих нехитрых манипуляций можно запускать mcabber и пробывать его использовать. Но методом научного тыка сразу использовать mcabber не получится, ибо необходимо знать минимум по его управлению.

Всё рабочее пространство mcabber поделено на 4 области: слева ростер, с права окно сообщений, с самого низа строка ввода команд и нескоклько строк журнала событий прямо над ней. Некоторые из этих областей можно менять местами (опции set log_win_on_top и set roster_win_on_right)

Собственно всё управление сводится к набиванию комманд в строку ввода, все команды начинаются со слеша (/[Tab] позволит вам с ними ознакомится). Но на многие команды уже назначены клавиши. Так как самое главное для jabber-клиента это писать и принимать сообщений, то с этого и начнём. PageUp/PageDown передвигают курсор по ростеру, а клавиша Enter закрывает/скрывает группу контактов либо когда курсор установлен на ней. Ну а если курсор установлен на контакте, то можно приступать к написанию ему сообщения или прочитать присланное.
Команда /roster unread_next перемещает вас к первому непрочитанному сообщению/событию, и по умолчанию этой команде назначена клавиша ^Q (Ctrl-Q)
А команда /room join адрес_конференции ник пароль соеденит вас с конфренцией (ник и паролем к комнате указывать необязательно) и конференция появится в ростере как обычный контакт.
mcabber запущенный в screen

Дальнейшая работа с mcabber зависит только от наших желаний. Можно разукрасить mcabber под те цвета что радуют глаз (смотри set color_*), можно прикрутить любые уведомления (смотри set events*), выполнять можно создать свои команды и хоткеи, да много чего можно (даже бота сделать из mcabber можно).

В общем минимум по mcabber довольно мал, а максимум слишком объемен. Знакомство с примером конфига и командами позволит вам творить чудеса.
TPMi 09-07-2009
а если сравнить с ekg2?
muhas 09-07-2009
даже сравнивать не хочется, ekg2 всё же мультипротокольный клиент, и как мне показалось с большим уклоном к irc, поэтому мне даже сравнивать не хочется...
bosha 09-07-2009
Вот именно из-за того, что там можно одновременно использовать 1 аккаунт, мне пришлось от него отказаться в пользу finch
TPMi 09-07-2009
в финче мне не удалось изменить оконный движок, а стандартный не очень удобен.
многоюзерный mcabber достигается через скрин и простенький скрипт ротации конфигов, который надо писать самому :)

а ekg2 вроде вполне удобен, хоть мне и не удалось там кое-что настроить.
да, в статье написано, что ростер слева. однако, на скриншоте он явно справа :).
muhas 09-08-2009
В статье ещё написано что расположение некоторых элементов можно изменить :)

вообще да, на каждый аккаунт приходится иметь свой конфиг, но вроде как несколько аккаунтов планируется в будущих версиях... finch мне покащался неудрбным в управлении, хотя и вполне функциональным...
KIper 09-08-2009
А как заставить MCabber зайти в комнату с русским названием? мне он говорит "[18:47:08] <вологда@conference.jabber.ru/MuzMan> is not a valid Jabber room". направьте куда почитать. заранее спасибо
muhas 09-08-2009
/me задумался. не входит :(
вообщем я тоже не знаю, гаджим заходит. mcabber не хочет - не знаю почему
KIper 09-10-2009
если кому интересно, то в последней (development)версии - этот глюк исправлен.
сегодня слил с меркурия и скомпили ./configure --enable-hgcset --with-libidn
моя текущая версия mcabber 0.10.0-dev (c3c7d6d0348f)
Sundelor 09-12-2009
Привет, маленький вопрос, если в rc указать

set lang = ru

он должен будет все системные месаги выводить на русском или как? :)
muhas 09-12-2009
Sundelor, нет. только хелп
Sundelor 09-12-2009
ясн, пасиб :)
буду дальше копаться :)

ЗЫ а мона посмотреть твои конфиг? *пез пассов и логинов естественно* :)
muhas 09-12-2009
http://pastebin.com/m222473e6 что-то типа такого (в подключаемых файлах в основном алиасы и хоткеи) файл комманд можно в примерах из исходников посмотреть
landgraf 10-05-2010
А как насчет 0.10.0 (у меня так и не получилось его завести, даже со всеми патчами)
muhas 10-05-2010
в арче 0.10 уже в репах. судя по зависимостям проблем не должно быть вообще - чего может пропустил?
fingerprint 10-05-2010
А как быть если надо писать на конкретный ресурс?
Есть конечно /say_to
Но ведь неудобно на каждое сообщение (а порой бывает нужно) писать команду, тем более название ресурса по Tab не дополняется :(
muhas 10-05-2010
@fingerprint мм.. даже не задумывался. set buddy_format может спасет.
muhas 10-05-2010
а нет... он только для статусного окна :( пиши разрабам...
anton 10-07-2010
mcabber 0.10.0
Мои настройки:
set jid = fanbass@jabber.ru
set password = ggggg
set server = allports.jabber.ru
set port = 443
set resource = mcabber
SSL и TLS закоментированы т.к. использую 443 порт
но связь отсутствует.
в ранних версиях как-то выходил в инет, а щас нет.
anton 10-07-2010
забыл написать что через прокси всё настроенно
anton 10-07-2010
ошибка:
SSL status:1
Certificate is not trusted!
Disconnected, reason:
3->'LM_DISCONNECTED_REASON_ERROR'
muhas 10-07-2010
set ssl = 0
set tls = 0
при комментировании выставляются же, вроде, дефолтные настройки...
anton 10-07-2010
set ssl = 0
set tls = 0

проверил таже ошибка.
muhas 10-07-2010
тогда даже не могу предположить в чем причина :(
anton 10-07-2010
Вот мои настроийки, может где-то ошибся?

set jid = fanbass@jabber.ru
set password = ppppp
set server = allports.jabber.ru
set port = 443

set ssl = 0
set tls = 0

set proxy_host = "10.2.64.5"
set proxy_port = 3128
set proxy_user = "a_fedorov"
set proxy_pass = "ppppp"
ixpict 10-09-2010
2 anton
set ssl_ignore_checks = 1
anonymous 11-05-2011
It's not possible to use old-style SSL and TLS together.

либо так:
#set ssl = 0
set tls = 0

либо так:
set ssl = 0
#set tls = 0