/ Soft-обзор / / Mcabber /

Mcabber

Дата публикации: Aug. 25, 2010
Теги: jabber, im, консоль,
Автор:

Название: Mcabber
Логотип: mcabber консольный jabber клиент
Скриншот: mcabber консольный jabber клиент
Mcabber - 0.10.0
Тип: Jabber-клиент
Тип интерфейса: Console
Версия: 0.10.0
от: April 11, 2010
Лицензия: GPL
Размер архива: 539Кб
Сайт: http://mcabber.com/

Mcabber - консольный Jabber-клиент для Linux.

Один из лучших на данное время в своей нише. Mcabber поддерживает SSL/SASL/TLS, MUC (конференции), ведение логов, автодополнение команд, PGP шифрование и др. Так же есть такие вкусности как статусы, закладки, настройка цветов, звуки и т.д.

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

$ ps aux | grep mcabber
1000      7805  0.1  0.4  21972 14552 pts/3    S+   13:06   0:00 mcabber
$ ps aux | grep psi
1000      8554  3.0  1.0 149260 37252  ?        Ssl  13:23   0:04 psi
$ ps aux | grep qutim
1000      8696  4.1  0.9 137548 33136  ?        Ss   13:26   0:01 qutim

Если вы ищете консольный jabber клиент, то mcabber наверняка вам понравится.
Кстати, в роли консольного icq клиента он тоже может служить, если вспомнить про джаббер транспорты для icq. Окно mcabber разделено на 4 части - ростер, чат, логи и строка для ввода текста/команд. Контакты в ростере можно раскрашивать разными цветами в соответствии со статусом, можно быстро перемещаться от группы к группе, показывать/скрывать оффлайн контакты, вести логи переписки, назначать новые клавиатурные сочетания, подсвечивать ники в конференциях, ставить звуки на события и мн. др.


Из минусов mcabber могу отметить следующие:
 * Нет поддержки мультисерверности
 * Нет поддержки передачи файлов (есть модуль для этого, 
но я так и не смог  заставить его работать)
 * Я так и не понял, как добавить контакт из конференции 
в ростер. Наверно,  это можно сделать только зная настоящий jid.
В остальном - одни плюсы =)


Настройка и использование mcabber


Клавиши управления mcabber:
F5 - показать/скрыть контакты оффлайн
F12 - показать/скрыть ростер
Ctrl+p/Ctrl+n - прокрутка чата
PageUp/PageDown - перемещение по контактам в ростере
Ctrl+q - перейти к следующему непрочитанному сообщению

Первым делом откройте ~/.mcabber/mcabberrc и пропишите туда ваш логин и пароль (вам не надо добавлять самим опции в конфиг. там все уже есть, нужно лишь раскомментировать):
set jid = nickname@jabber.com
set password = ваш-пароль
Так же будет полезным раскомментировать такую строчку:
set disable_random_resource = 1
Эта опция отключит генерацию рандомного джаббер-ресурса. Многих рандомный ресурс будет напрягать.

Эта опция задает ваш ник, который будет использоваться в конференциях:
set nickname = Ваш_ник

Следующие опции активируют проверку орфографии (с помощью aspell):
set spell_enable = 1
set spell_lang = ru_RU
set spell_encoding = UTF-8


Включаем ведение логов (mcabber не умеет сам создавать нужные каталоги, поэтому вы должны позаботиться об этом сами):
set logging = 1
set load_logs = 1
set logging_dir = ~/.mcabber/histo/
set logging_ignore_status = 1
Если вы установите какие-либо модули для mcabber, не забудьте указать каталог с модулями:
set modules_dir = /usr/local/lib/mcabber/
Сигнал при получении сообщения:
set beep_on_message = 1

Если хотите, чтобы при получении сообщения проигрывался звук, раскоментируйте эту строку:
set events_command = /home/brainsburn/.mcabber/eventcmd
Подробнее об eventcmd я расскажу ниже.


Mcabber может принимать команды извне. Если вы добавите следующие строчки, mcabber будет создавать fifo файл и слушать его:
set fifo_name = ~/.mcabber/mcabber.fifo
set fifo_hide_commands = 0
Пример использования:
$ echo "/status message Test" > ~/.mcabber/mcabber.fifo
Эта строка означает. что вы будете переходить в away автоматически через 900сек (15мин):
set autoaway = 900
Сообщение, которое будет устанавливаться в статус при autoaway:
set message_autoaway = Auto-away (idle)
Вы можете задать дефолтные статус-сообщения для определенных статусов:
set message_avail     = I'm available
set message_free      = I'm free for chat
set message_dnd       = Please do not disturb
set message_notavail  = I'm not available
set message_away      = I'm away
Почти в конце конфига вы можете найти секцию, задающую цвета. Я оставил все по умолчанию (т.е. не раскомментировал), кроме одного:
set color_bgrostersel  = white
С умолчальным синим цветом выделенный ник в ростере был нечитабелен.

Еще одна полезная возможность - раскрасить ники разными цветами в зависимости от статуса:
color roster adn * brightyellow
color roster _ * yellow
color roster o * brightgreen
"adn" В первой строке означает (away,dnd,not available)
"_" - оффлайн
"o" - онлайн

Если вы используете конференции, вы, вероятно, захотите, чтобы mcabber раскрашивал ники в конференциях для улучшения читабельности:
set nick_colors = red green cyan yellow magenta blue
color muc * on


Так же с помощью ~/.mcabber/mcabberrc вы можете добавлять в автозагрузку модули, просто добавив строку "module load имямодуля" в конфиг mcabber.


Создание собственных горячих клавиш в mcabber Когда вы жмете какую-либо клавишу, на которую не назначено действие, в буфере лога появляются строки вроде этой:
[19:04:27] Unknown key=266
Этот код клавиши вы можете использовать для создания собственных шорткатов: "bind код_клавиши команда". Например:
bind 271 = roster bottom


Звуки в mcabber

Выше я упомянул о строке set event _command = /home/ваш-хомяк/mcabber/eventcmd Вы можете написать собственный скрипт eventcmd, а можете использовать готовый. Он лежит в "/usr/share/mcabber/scripts/events/". Просто скопируйте его в ~/.mcabber/. Теперь откройте его и найдите строку "CMD_MSG_IN=". Не трудно догадаться, что она задает имя файла, который будет проигрываться при получени нового сообщения. Вам остается лишь найти нужный wav-файл.


Установка модулей в mcabber

Mcabber поддерживает модули. Посмотреть список доступных модулей вы можете тут: http://wiki.mcabber.com/index.php/Modules . Их не очень много, но, возможно, вы найдете несколько полезных. Например, модули, добавляющие функцию передачи файлов, service discovery и др. Однако, я должен сказать, что лично у меня, на моем компьютере я пробовал установить три модуля, но только один из них заработал, да и то - при определенных обстоятельствах сегфолтится.



Так что будте готовы к трудностям :)

Опишу процесс установки модулей для mcabber на примере модуля disco, который добавляет service discovery.

Сам модуль лежит тут: http://isbear.unixzone.org.ua/source/mcabber-disco/

Получить исходный код модуля можно с помощью git:
$ git clone http://isbear.unixzone.org.ua/source/mcabber-disco/
Далее, находясь в папке mcabber-disco, выполните следующие команды для сборки модуля:
$ mkdir build
$ cd build
$ cmake ..
$ make edit_cache
$ make
# make install

Возможно, команда make вылетит с ошибкой "error GPGME was compiled with _FILE_OFFSET_BITS = 64". В таком случае вам надо открыть файл "/usr/include/gpgme/gpgme.h", найти там строку /* Check for a matching _FILE_OFFSET_BITS definition. */ и, следующую после нее строку "#if 64", заменить на "#if (_FILE_OFFSET_BITS) == (64)" (без кавычек). Это позволит продолжить сборку, но помните, что ровно в полночь тыква превратится... тьфу! Проехали...



Модуль будет лежать по адресу /usr/local/lib/mcabber/libdisco.so . Проверьте, что в конфиге mcabber ~/.mcabber/mcabberrc правильно указана директория для модулей:

set modules_dir = /usr/local/lib/mcabber/

Для загрузки модуля используйте команду /module load disco. Использовать модуль можно командой /disco. На данный момент я обнаружил у этого модуля один баг - если вызвать модуль, когда в ростере выделен [status], вы получите ошибку сегментирования. В остальных случаях он работает нормально.







Возможно, эти материалы Вас заинтересуют:


Рекомендовать эту страницу:

Комментарии:(4)

# Хариец April 16, 2011, 12:47 a.m.
За раскраску контактов по статусу спасибо! :)

# noris July 4, 2013, 4:28 p.m.

можно както прикрутить быдлоконтакт?

# Autokolchanka April 6, 2014, 4:13 a.m.
>В остальном - одни плюсы =)
Ахахаха, плюсы по сравнению с чем? Есть что-то хуже, кривее и неудобнее этого говна?)))

# Хотабспасибыч Sept. 4, 2015, 9:50 p.m.
Спасибо, отличная статья для одного из лучших консольных клиентов.

Комментировать:

Гость, Вы можете оставить свой комментарий.

Стиль кода:
Имя
Сайт * не обязательное поле
Поставьте галку, если вы - бот
Поставьте галку, если вы - человек

Друзья! Убедительная просьба воздержаться от нецензурной лексики!



Справка:
Если вы хотите использовать в тексте комментария специальные символы, например, [ и ], используйте их внутри тега [code] [/code]
Вы можете использовать теги BBcode. Для оформления кода и подсветки синтаксиса используйте тег [code] или [code=название_языка], например, [code=python]
Ссылки вставляйте так: [url]zenux.ru[/url] или так: http://zenux.ru, но не так: zenux.ru
Текст сообщения должен быть в пределах 3000 символов.




Последние комментарии:

Brainsburn_: “Написание в 1-й” подразумевает “в первой”, а не в... >>>
ZZZ: “Написание в 1-й” подразумевает &ldquo... >>>
SBOdin: Спасибо за полезное руководство... >>>
fanyit: Спасибо за обзор. очень полезно и доступно.... >>>
cheech: Спасибо, статья полезная )... >>>