EKG2 - консольный многопротокольный IM-клиент

Материал из База знаний проекта Russian Fedora

Перейти к: навигация, поиск

EKG2 — бесплатный и открытый (open source), консольный IM клиент. Программа многопротокольная, многоплатформенная, поддерживает расширения (plugins).

ВАЖНО: в данной программе сессией называется зарегистрированное подключение к jabber-серверу или IRC- сети.

Интерфейс EKG2

Содержание

Установка

yum install ekg2

Поддерживаемые протоколы

Сейчас программой поддерживаются следующие протоколы:

  1. XMPP (а также tlen);
  2. IRC (реализация ориентирована на IRCnet);
  3. Gadu-Gadu посредством libgadu;
  4. NNTP;
  5. RSS;
  6. polchat - (чат-комнаты polchat);
  7. rivchat - (протокол общения в локальной сети, напоминающий IRC - но не LANChat).

Интерфейс

Программа имеет консольный интерфейс (текстовый режим работы). В процессе поключения к комнатам и конференциям создаются виртуальные "окна", между которыми можно переключаться комбинацией клавиш Alt-<номер> (или даже расширить количество возможных окон, см. раздел "Клавиши управления"). Есть два служебных окна:

  1. Alt-~ - окно отладки (debug);
  2. Alt-1 - окно информационных сообщений (окно номер 1).

Все остальные окна - чаты: индивидуально с другим пользователем или коллективно - конференции (IRC), каналы (jabber). "Общение" в программой производится вводом команд. Признаком начала ввода команды является символ обратного слеша "/", после которого без дополнительного пробела пишется команда и ещё параметры. Если активным является окно отладки или окно номер 1, то обратный слеш "/" указывать не обязательно. Список команд поддерживаемых программой доступен по команде:

/help

Особенности

Для более удобной работы в программе реализованы:

Модули расширения (plugins)

Для управления подключенными модулями расширения используется команда /plugin, используемая в формате

/plugin [-|+] [название] [опции] [приоритет]

Например:

/plugin           # вывод списка доступных модулей
/plugin +jabber   # подключение модуля поддержми XMPP
/plugin -irc      # отключение модуля поддержки IRC

Сессии: регистрация и подключение

Подключение осуществляется посредством команды session, имеющей такой формат:

/session [операция] <протокол>:<аккаунт>  [<переменная> <значение>]

Например, подключение в программе аккаунта, подключение к серверу и подключение к конференции/каналу для двух jabber и двух IRC аккаунтов может выглядеть так:

# подключение к первому jabber-серверу
/session --add xmpp:<JID#1>                   # регистрация сессии для jabber-аккаунта JID#1, который остаётся активным, т.к. первый
/session xmpp:<JID#1> alias <alias#1>         # назначение для JID#1 синонима (для удобства)
/session password <пароль>                    # ввод пароля (если не указывать <pass> - будет произведён скрытый запрос на ввод пароля)
/connect                                      # подключение сессии согласно введёным ранее параметрам
/join fedora@conference.jabber.ru <псевдоним> # подключение к конференции fedora@conference.jabber.ru c JID#1
# подключение ко второму jabber-серверу (с "практическими" параметрами)
/session --add xmpp:primer@jabber.ru          # регистрация сессии для jabber-аккаунта primer@jabber.ru, активным остаётся JID#1
/session xmpp:primer@jabber.ru alias fjbru    # назначение для primer@jabber.ru синонима fjbru
/session --sw fjbru                           # активной делаем сессию для primer@jabber.ru (через синоним)
/session password 12345678                    # ввод пароля 12345678 для primer@jabber.ru
/connect                                      # подключение сессии согласно введёным ранее параметрам
/join fedora@conference.jabber.ru primer      # подключение к конференции fedora@conference.jabber.ru c primer@jabber.ru с ником primer
# подключение к первой IRC-сети
/session --add irc:<IRC_Net>                  # регистрация в программе подключения к IRC сети IRC_Net
/session irc:<IRC_Net> alias <alias#3>        # назначение для JID#1 синонима (для удобства)
/session --sw <alias#3>                       # активной делаем сессию для IRC-сети IRC_Net
/session server <имя сервера или его IP>      # указываем сервер IRC-сети, к которому будем подключаться
/connect                                      # подключение сессии согласно введёным ранее параметрам
/join #freebsd <псевдоним>                    # подключение к конференции #freebsd
# подключение ко второй IRC-сети (с "практическими" параметрами)
/session --add irc:irc.rusnet.org.ru          # регистрация в программе подключения к IRC сети irc.rusnet.org.ru
/session irc:irc.rusnet.org.ru alias irusnet  # назначение для irc.rusnet.org.ru синонима irusnet
/session --sw irusnet                         # активной делаем сессию для IRC-сети irc.rusnet.org.ru
/session server irc.rusnet.org.ru             # указываем сервер IRC-сети, к которому будем подключаться
/connect                                      # подключение сессии согласно введёным ранее параметрам
/join #freebsd primer                         # подключение к конференции #freebsd

Список зарегистрированных в программе сессий:

/session --list

Клавиши управления

Базовые предопределённые (не все):

Alt-K - закрыть текущее "окно"
Alt-G - игнорировать
Alt-n - переключение на виртуальное окно с номером n
Alt-~ - переключение на виртуальное окно отладки (debug)
F2    - вывод в алфавитном порядке в первое "окно" (win/1) списка учётных записей из ростера с любым статусом,
        кроме "Не в сети".
F3    - убрать/показать ростер.
F4    - показать в ростере список всех учётных записей со всех подключенных учётных записей/конференций/каналов
        или только соответствующих текущему "окну".

Клавиши управления переопределяются в файле конфигурации ~/.ekg2/config, например:

bind Alt-` /window switch 0
bind Alt-1 /window switch 1
bind Alt-2 /window switch 2
bind Alt-3 /window switch 3
bind Alt-4 /window switch 4
bind Alt-5 /window switch 5
bind Alt-6 /window switch 6
bind Alt-7 /window switch 7
bind Alt-8 /window switch 8
bind Alt-9 /window switch 9
bind Alt-0 /window switch 10
bind Alt-Q /window switch 11
bind Alt-W /window switch 12
bind Alt-E /window switch 13
bind Alt-R /window switch 14
bind Alt-T /window switch 15
bind Alt-Y /window switch 16
bind Alt-U /window switch 17
bind Alt-I /window switch 18
bind Alt-O /window switch 19
bind Alt-P /window switch 20
bind Alt-N /window new
bind Alt-A /window active

Отображение контактов

В списке контактов может отображаться множество не нужных на данный момент контактов: отсутствующих (не в сети), блокированных и пр. Можно настроить отображение только тех контактов, которые имеют требуемое состояние. Сделать это можно, установив соответствующую переменную Ncurses (библиотеки функций для управления вводом/выводом на терминал, используемой ekg2): contacts_order. Доступны несколько способов указания данного параметра:

ncurses:contacts_order chavawxadn
/set ncurses:contacts_order chavawxadn
alias cont1 /set ncurses:contacts_order chavaw
alias cont2 /set ncurses:contacts_order chavawxadn
alias cont3 /set ncurses:contacts_order chavawxadninno
alias cont4 /set ncurses:contacts_order chavawxadninnoerunbl

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

ncurses:contacts_order ch,av,aw,xa,dn

Описание сокращений:

ch – готов общаться
av – доступен
aw – занят
xa – очень занят
dn – не беспокоить
in – невидимый
no – отсутствую
er – ошибка определения состояния
un – неизвестное состояние
bl – блокирован

Используемые кодировки

При необходимости сменить кодировку, используемую в программе, необходимо определить соответствующее значение для переменной console_charset либо в файле ~/.ekg2/config, либо установить в программе, используя команду /set, например:

/set console_charset KOI8-R

Если возникает необходимость перед этим установить соответствующую кодировку для консоли, то вначале устанавливается кодировка консоли, а затем запускается ekg2, например:

$ export LANG=ru_RU.KOI8-R
$ ekg2

Проверка орфографии

При необходимости включения проверки орфографии в файле ~/.ekg/config-ncurses устанавливаются следующие переменные:

ncurses:aspell 1         # включение проверки
ncurses:aspell_lang ru   # установка языка проверки

Информация о программе

К сожалению информации о настройке и использовании программы ekg2 крайне мало. Имеющаяся в существенном объёме представлена на польском языке (т.к. развивается в основном сообществом в Польше). Некоторые возможности можно узнать, используя команду:

/help                # вывод основной информации о помощи и списка поддерживаемых команд
/help <команда>      # подробная информация о команде

Другие полезные команды

/window <n>                        # переключение на виртуальное окно с номером n
/win n                             # аналогично предыдущему
/clear                             # очистка экрана
/userinfo <пользователь>           # вывод информаци о пользователе
/msg <пользователь> <сообщение>    # отправка пользователю сообщения
/chat <пользователь> <комната>     # создание чат-комнаты с пользователем
/quit                              # завершение работы программы

Так же можно воспользоваться информацией, описанной в текстовых файлах в каталоге /usr/share/ekg2, например, session-en.txt, vars-pl.txt, commands-pl.txt (на момент написания этот файл был только в варианте на польском языке).


Ссылки

  1. http://bugs.ekg2.org/projects/ekg2/wiki
  2. http://www.ekg2.org/ekg2book/
  3. http://rodzynus.wordpress.com/2009/02/09/ekg2/