Якщо проблема, що виникла у вас, тут не освітлена, заходите на
xmpp:tkabber@conference.jabber.ru
— поміркуємо разом, і якщо вирішимо —
відповідь з'явиться або тут, або в одній зі статей цієї вікі.
Зміст
- 1 Що таке...?
- 2 Зовнішній вигляд і звук
- 3 Глюки, що виникають у процесі роботи
- 3.1 Довге завантаження Ткаббера
- 3.2 Пересилання файлів
- 3.3 Шифрування в Ткаббері: проблеми з gpgme/tclgpgme
- 3.4 Проблема з новим релізом Ткаббера 0.9.9-1.2
- 3.5 Ткаббер під X Window падає при спробі показати "дивні" символи
- 3.6 Не працює вставка по Control-v під X Window
- 3.7 Tkabber постійно тримає мене в стані "відійшов" ("away")
- 3.8 У старпаку/старкиті немає звуку
- 3.9 Пропадає вміст ростера
- 3.10 Не можу приєднатися до сервера через проксі
- 4 А як мені зробити...?
- 4.1 Відправлення повідомлень по Ctrl-Enter
- 4.2 Чи можна додати в ростер самого себе?
- 4.3 Одночасна робота з декількома аккаунтами
- 4.4 Як щодо автозаходу на конференції?
- 4.5 Стискання трафіка в Ткаббері
- 4.6 Виділення тексту жирним, курсивом і підкресленням
- 4.7 Уведення "хитрих" юнікодових символів
- 4.8 Ігнор — велика річ!
- 4.9 Підтвердження
- 4.10 Віддалене керування
- 4.11 Команди Ткаббера
- 4.12 Приховування версій клієнта і OS
- 5 Різне
Що таке...?
Ростер
Відповідь: Ростер (по-англійському roster) — це "Список контактів". У версіях Ткаббера починаючи з 0.9.8 термін "ростер" зник, чим спантеличив звиклих до англізованої назви ветеранів Jabber.
Ресурс
У вікні логіна в закладці Обліковий запис можна спостерігати поле Ресурс, у якому вже написане щось схоже на "Tkabber". Що це означає? Відповідно до протоколу Jabber, до одного й того ж облікового запису (аккаунту) можна підключатися необмежену кількість разів, за умови, що ми кожен раз вказуємо новий ресурс. Якщо ми з’єднуємося з різних програм, вони виставляють ресурс автоматично (наприклад, Psi, JAJC, Bombus). Крім того, це поле можна редагувати, вказавши, наприклад, своє місце розташування (Home, Work, пляж, Хатина дядьки Тома).
Пріоритет
На тій же вкладці підключення є поле Пріоритет, де вже прописано значення
Пріоритет нам стає в нагоді, коли ми запускаємо більше одного клієнта, наприклад, один вдома, а інший на роботі. У налаштуваннях Autoaway Ткаббера є опція
plugins::autoaway::options(drop_priority) 1
Якщо вона встановлена в 1, як у нас у прикладі, то при переході Ткаббера в Autoaway пріоритет скидається до нуля. Як же це впливає на подальшу роботу? Справа в тому, що Jabber-сервер відсилає повідомлення клієнтові з максимальним пріоритетом, тобто, коли ми приїжджаємо з роботи додому, то активним стає домашній клієнт, і всі повідомлення, відправлені на username@jabberserver.org (тобто, без жорстко заданого ресурсу), прийдуть на домашню машину, тому що в неї пріоритет підвищився, як тільки ви за неї сіли. Це досить зручно, але й тут є невеликий недолік: що відбувається у випадку, коли обидва пріоритети рівні? Ви добираєтеся з роботи додому годину, а тайм-аут для переходу в евей — від сили п'ять-десять хвилин, і все це час повідомлення будуть надходити куди їх захоче відправити сервер, тому що він згідно rfc3921 у випадку збігу пріоритетів вільний вибирати адресата. Втім, все це стосується лише повідомлень.
Консоль Ткаббера
Консоль Ткаббера можна викликати тільки у версії для Windows. Перебуває вона в головному меню: Допомога → Показати консоль. Призначена здебільшого для налагодження, коли потрібно перевірити наявність якого-небудь компонента дистрибутива або виконати певну команду. Крім налагодження консоль може служити й для багатьох інших знущань над Ткаббером. Природно, користь приносити вона буде лише тим, хто вміє користуватися, тобто вам треба мати в голові деякий мінімум знань по tcl/tk.
У лінуксовій версії Ткаббера консолі немає через непотрібність. Для аналогічних маніпуляцій набагато зручніше користуватися засобами, що поставляють у дистрибутиві тикля (tclsh) або сторонніми програмами (tkcon, tkinspect).
Зовнішній вигляд і звук
Шрифти
Питання: Як мені поміняти шрифт/розмір шрифту для вікна чата/меню?
Відповідь: Якщо у вас Windows, швидше за все за замовчуванням використається файл конфігурації від badlop. Знайдіть файл C:\Program Files\Tkabber\tkabber\examples\badlop-config.tcl, а в ньому — наступні рядки:
1024x768 {
option add Tkabber.geometry =700x520-30+170 userDefault
# sets font of most of labels in widgets,
option add *font -monotype-arial-medium-r-*-*-11-*-100-100-*-*-iso10646-1
# sets font of chat and roster text
set font -monotype-arial-medium-r-*-*-11-*-100-100-*-*-iso10646-1
}
Це конфігурація шрифту для розміру екрана 1024x768. Нас цікавлять рядки
option add *font -monotype-arial-medium-r-*-*-11-*-100-100-*-*-iso10646-1
і
set font -monotype-arial-medium-r-*-*-11-*-100-100-*-*-iso10646-1
Перша завідує кнопками й іншими елементами інтерфейсу, друга — ростером і вікнами чата. Ім'я шрифту в даному прикладі — arial, розмір його — 11, iso10646 — кодування (у цьому випадку це utf-8). Спробуйте різні варіанти, поки результат вас не задовольнить.
Для *nix-користувачів рішення схоже: оскільки конфиг за замовчуванням використається не від badlop, у ньому, можливо, і рядків таких немає. Переглянете файл ~/.tkabber/config.tcl (якщо він існує) і пошукайте ці рядки, якщо їх немає, допишіть, скориставшись наведеним вище прикладом або скопіювавши всю секцію з того ж конфига від badlop — /usr/share/tkabber/examples/badlop-config.tcl.
Не підключаються нові смайлики (звукові схеми)
Питання: Підправив конфіг, прописавши там шлях до нових смайликів (звукових схем), але при перезавантаженні вони не підключаються.
Відповідь: Для початку ознайомтеся з уже наявною інформацією на цю тему. Далі переконаєтеся, що шлях веде саме туди, де лежать файли. У файлі конфігурації (наприклад, від badlop) шлях до смайликів зазначено такий: /usr/share/tkabber/emoticons-tkabber. При додаванні нових смайл-паків їх звичайно кладуть у домашній каталог, в ~/.tkabber/emoticons-tkabber, і якщо ви тільки дописали в кінець рядка назву нового директорія, ефекту не буде :-)
До речі, звукові схеми як такі в Ткаббері вже не підключаються. Починаючи з версії 0.9.8 можна призначити будь-який звуковий файл (у форматі wav) для кожної з подій окремо.
Як вставляти смайлики "з меню"?
Питання: Хочу меню, щоб можна було вибрати й вставити смайлик що сподобався.
Відповідь: Комбінація Alt-E у вікні уведення повідомлення чата відкриває меню, у якому можна вибрати будь-який смайлик з підключеної схеми. Про це та інше, до речі, розказано в пункті меню Допомога → Коротка довідка.
Примітка: Насправді є щонайменше три аргументи проти такого підходу:
- "руками" смайлики набирати відчутно швидше, варто лишень трошки потренуватися;
- майте на увазі, що "стандартних" (тобто всім зрозумілих) смайликів не так вже і багато (не більше чотирьох), а схеми в усіх встановлені різні, з різною кількістю смайликів, тому найчастіше ваш файний смайлик побачать лише у вигляді чого-небудь на зразок :BEER:. Невже це дійсно те, що ви хотіли? ;-)
- багато хто взагалі відключає смайлики; помізкуєте над цим, маючи на увазі попередній пункт.
чи Можна смайлики відключити?
Питання: Сабж. Не хочу ніяких смайликів, навіть дефолтних.
Відповідь: це легко зробити. Разповідь — тут.
Не бачу іконки/фото/і т.д. в PNG
Питання: У мене Ткаббер під Linux не бачить фото в vcard, якщо воно не в GIF.
Відповідь: треба встановити пакет tkImg.
Колірні схеми
Питання: Мені не подобається колірна схема за замовчуванням. Що я можу зробити?
Відповідь: Для початку спробуйте готові схеми, що перебувають у директорії прикладів. Про те, як їх підключати, читайте тут. Якщо вам не подобається жодна із цих схем, спробуйте створити свою. Відкрийте в текстовому редакторі кожен файл.xrdb з тих, що ви дивилися, збережіть його під іншим ім'ям і правте, поки результат вас не задовольнить :) Щоб відслідковувати зміни, пропишіть цей новий файл у конфізі, тоді при старті Ткаббера ви побачите, що й де змінилося. Так, важко "малювати" без візуального редактора. Фотошоп або gimp вам у допомогу - хоч кольори підбирати і їх 16-кові назви списувати ;) А тепер візьміть і напишіть плагін для створення колірних схем — усі будуть тільки раді!
чи Підтримує Ткаббер аватари?
Питання: От JAJC з аватарами працює дуже добре — і підключає, і показує співрозмовникам у системній області. Ткаббер так уміє?
Відповідь: Системна область для Ткаббера — ахілесова п'ята :) Але аватари він підтримує. Читайте про це в окремій статті.
Проблема зі звуковою схемою
Питання: Поміняв стандартну звукову схему на Psi, і тепер звуки не працюють (або працюють не все). При цьому xmms ці файли програє нормально.
Відповідь: Зважаючи на все, ви працюєте в Linux, а версія Ткаббера у вас — 0.9.7, тому що у версії 0.9.8 уже можна вибрати для кожної події будь-який звук. Можливо, проблема в тім, що програма esdplay, що встановлена за замовчуванням, не може програти деякі wav-файли зі схеми Psi, тому що в них частота дискретизації занадто низка — 5000 Hz. Спробуйте прописати іншу програму або у звуковому редакторі начебто Audacity відредагуйте файли, помінявши частоту дискретизації на 11000 Hz. Не забудьте, що якщо ви вказуєте в налаштуваннях звуку просте ім'я звукової схеми, то файли, які вам потрібно редагувати, лежать в /usr/share/tkabber/sounds/psi.
Регулювання гучності звуку
Питання: чи Можна в Ткаббері регулювати гучність звуку?
Відповідь: Так, і навіть декількома способами. Почитайте докладно в цій статті.
Глюки, що виникають у процесі роботи
У цьому розділі ви знайдете рішення проблем, пов'язаних з нестандартним поводженням Ткаббера в стандартних ситуаціях.
Довге завантаження Ткаббера
Питання: Ткаббер дуже довго вантажиться. Спочатку я навіть думав, що він висне на старті, але якось раз набрався терпіння і дочекався. Потім працює нормально.
Відповідь: Подивіться уважно, що при цьому показує прогрес-бар сплеш-скрина. Якщо на ньому застигли слова "користувальницький інтерфейс", то, можливо, справа от у чому. Якщо у вас включено кешування новин, а фідів для новин у ростері — вагон і маленький візок, то через якийсь час загальне число повідомлень може з легкістю перевалити за кілька сотень. Природно, щоб всі їх довантажити з файлу, потрібен час. Декілька рішень: 1) відключити кешування, тоді при закритті програми новини, які ви не встигли прочитати, пропадуть; 2) позбутися зайвих дуже активних фідів або хоча б переглядати й видаляти вручну більші списки новин перед закриттям програми; 3) звикнути до довгого завантаження або перевантажуватися як можна рідше; 4) вдосконалити комп'ютер;
- оптимізувати код Ткаббера. Вибирати вам :)
Пересилання файлів
Питання: Так працює в Ткаббері пересилання файлів чи ні? Ми із другом пробували сто разів через всі доступні протоколи, і нічого не відправляється.
Відповідь: Для початку почитайте введення, також у стислій формі це пояснено в офіційній документації Ткаббера (розділи 4.2.12. The Stream Initiation Module і 4.2.13. The Jidlink Module):
- Windows: C:\Program Files\Tkabber\tkabber\doc\tkabber.html
- *nix: /usr/share/doc/tkabber/tkabber.html
Практична ж реалізація (для більшості, але не всіх випадків) така.
Зайдіть в Настроювання → File Transfer і потім по черзі в Jidlink і SI. В Jidlink включіть опцію
::ft::ftjl::options(enable)
і відключіть
::jidlink::transport(allowed,dtcp-passive)
залишивши ::jidlink::transport(allowed,dtcp-active) і ::jidlink::transport(allowed,inband-bytestream).
В SI відключіть
::si::transport(allowed,http://jabber.org/protocol/bytestreams)
і залишіть
::si::transport(allowed,http://jabber.org/protocol/ibb)
Не забудьте зберегти кожну змінювану опцію для наступних сесій. Якщо однаково не працює, перечитайте ще раз теорію (посилання на початку відповіді).
Шифрування в Ткаббері: проблеми з gpgme/tclgpgme
Питання: Щось не можу скомпілювати tclgpgme.
Відповідь: Залежно від того, яку версію gpgme ви використаєте й у якій операційній системі працюєте, сильно залежить, чи вдасться вам підключити шифрування в Ткаббері. Почитайте спочатку коротеньку статтю про це. Виходячи із цього, відповідей може бути кілька.
- Під Windows шифрування працювати не буде.
- Під Linux — залежно від дистрибутива:
- В Debian у стабільній гілці все працює без зайвих рухів (правда, що там буде в Etch'е — не ясно);
- В rpm-based дистрибутивах проблема поки не досліджена (навіть невідомо, чи є вона);
- В source-based дистрибутивах проблема, можливо, вирішиться завдяки наступній пораді.
xmpp:pachkov@jabber.ru
розповідає:
Вирішив проблему зі шифруванням у Ткаббері (під Slackware). Проблема була в тому, що tclgpgme під Слакварею збирається, але не працює (з gpgme версій 0.3.13 і 0.3.16). Справа в тому, що скрипт configure в tclgpgme не знаходив gpgme-config. Я просто визначив змінну в скрипті після перевірок, і все запрацювало.
Наведемо цей патч на configure отут, щоб ідея була зрозуміла:
-і- configure 2002-09-25 21:49:46.000000000 +0200
+++ myconfigure 2006-07-12 09:44:17.000000000 +0200
@@ -1868,7 +1868,6 @@
esac
fi
GPGME_CONFIG="$ac_cv_path_GPGME_CONFIG"
+GPGME_CONFIG="/usr/local/bin/gpgme-config"
if test -n "$GPGME_CONFIG"; then
echo "$ac_t""$GPGME_CONFIG" 1>&6
else
Тобто просто додане пряме присвоювання змінної GPGME_CONFIG:
GPGME_CONFIG="/usr/local/bin/gpgme-config"
нижче того коду, що повинен цю змінну обчислювати, але не робить це з якоїсь причини. Природне уточнення: пишіть шлях до gpgme-config на вашої системі.
Проблема з новим релізом Ткаббера 0.9.9-1.2
Питання: Поставив нову версію Ткаббера під Дебіан. Версія 0.9.9-1.2. Оновив також і tcllib до 1.8. У результаті Ткаббер після логіна зависає й ні на що не реагує, навіть не завантаживши Контакти.
Відповідь: Поставте пакет ceptcl, що рекомендує apt-get. Проблема в тім, що ваш dns-сервер не підтримує tcp-запити, а ceptcl додає udp. Звичайно dns-сервера провайдерів не забороняють запити по tcp, але подекуди (наприклад, в Іспанії) це не так.
Якщо не хочеться встановлювати додаткові пакети, можна спробувати як варіант відзначити на другій вкладці З'єднання вікна логіна галочку Явно вказати адресу й порт для підключення, ну і явно їх вказати.
(thanks to teo за інформацію)
Ткаббер під X Window падає при спробі показати "дивні" символи
Питання: Ткаббер під X Window падає при спробі показати "дивні" символи (наприклад цей: "•") з помилкою:
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 45 (X_OpenFont)
...
Відповідь: Причина може бути або в "кривих" шрифтах, які встановлено у вас у системі, або в "кривизні" сервера шрифтів, або в "кривизні" X-сервера, що сам "роздає" шрифти.
Докладніше читайте тут.
Не працює вставка по Control-v під X Window
Питання: У багаторядкових полях введення не працює вставка тексту з буфера обміну.
Відповідь: У поточних стабільних версіях Tk комбінація <Control-KeyPress-v> у багаторядкових полях введення (Tk-віджет "text") прив'язана до Emacs'овскої дії "прокрутити вниз на пів сторінки".
Цей баг офіційно зареєстровано під номером 605277 (див. багтрекер Tk на http://tcl.sourceforge.net).
Баг виправлено давно, але тільки у версіях, що стосуються 8.5. Для виправлення проблеми в 8.4.x є два способи:
- Накласти патч із багтрекера й перезібрати Tk;
Обійти проблему, вписавши в config.tcl наступну команду:
bind Text <Control-KeyPress-v> {}
Це "відв'язує" Control-v від віджета text і відновлює його "більше загальну" прив'язку до віртуальної події <<Paste>> (вставка тексту з буфера обміну), що, у свою чергу, також прив'язана до Control-v.
Величезне спасибі тиклевому хакеру Joe English за інформацію, виправлення бага в Tk та пропозицію "милиці" для Ткаббера.
P.S. До речі, під "іксами" в Tk-додатках вставка з буфера все життя прекрасно працювала по Control-y.
Tkabber постійно тримає мене в стані "відійшов" ("away")
Питання: Запускаю Ткаббер і він відразу переходить у стан "відійшов". Установка руками будь-якого іншого статусу відразу назад міняється Ткаббером на все той же "відійшов". Що робити?
Відповідь: Причина проста — починаючи з версії 0.9.8 у настроюваннях Ткаббера змінився формат часу, що задає проміжок для запуску Autoaway. У версіях Ткаббера до 0.9.7 включно час неактивності користувача до переходу в стан "відійшов" і "відійшов давно" задавалося в мілісекундах (стандартна одиниця виміру тимчасових проміжків для тикля). Починаючи з версії 0.9.8 ці інтервали почали задаватися в більше логічних одиницях виміру — хвилинах. Тобто "нові" версії Ткаббера множать ці тимчасові інтервали на 60000, щоб перевести хвилини в "тиклеві" мілісекунди. Якщо відбувається неприємність — Ткаббер версії >= 0.9.8 запускається з файлом конфігурації від версії <= 0.9.7, — задані в конфігурації мілісекунди переводяться... у мілісекунди! Виходять величезні числа, що переповняють 32-бітне ціле зі знаком, і Ткаббер починає вважати, що інтервал часу неактивності вже минув. Ілюстрація (можете повторити самі в консолі Ткаббера, wish або в tkcon):
% puts [expr 600000*60*1000]
1640261632
% puts [expr 600000*120*1000]
-1014444032
Тобто, при тайм-ауті в одну хвилину все б було гарно, але як тільки ми ставимо дві хвилини, з'являється помилка. Модуль Autoaway порівнює поточний час неактивності зі значенням тайм-ауту, і якщо тайм-аут менше, Ткаббер переводиться в режим "Відійшов". Як бачите, при тайм-ауті дві хвилини й більше Ткаббер завжди буде вважати, що ми "відійшли".
Так проблема існувала, зокрема, у офіційному ткаббер-паку під Windows версії 0.9.8..
Рішення: Досить піти в настроювання плагіна AutoAway (Tkabber →
Настроювання → AutoAway) і встановити там параметри
plugins::autoaway::options(awaytime)
і plugins::autoaway::options(xatime)
у
деяку розумну кількість хвилин
Не забудьте зберегти кожне настроювання "для поточної й наступної сесій", вибравши відповідний пункт у меню, з кнопки "Стан".
У старпаку/старкиті немає звуку
Питання: У старпаку (або старкиті) не працює звук. Його вмикання/вимикання ні до чого не призводить. Що робити?
Відповідь: Стаття про рішення цієї проблеми перенесена сюди.
Пропадає вміст ростера
Питання: Якщо відключити показ у ростері транспортних іконок
show_transport_user_icons 0
і включити показ активних розмов
::ifacetk::roster::options(chats_group) 1
, то при спробі відкрити хоч один
чат з яким-небудь JID, вміст ростера пропадає й до перезапуску Ткаббера не
відновлюється.
Відповідь: Оновіть з Tkabber SVN — все вже виправлено.
Не можу приєднатися до сервера через проксі
Питання: Не можу приєднатися до сервера через проксі (аська працює).
Відповідь: Швидше за все, проблема в тім, що ваш проксі-сервер не пропускає з'єднання методом CONNECT на порти, відмінні від 443 (HTTPS), а Jabber-сервер звичайно приймає з'єднання на порти 5222 (підтримується "plaintext" (з'єднання без шифрування) і протокол STARTTLS, що дозволяє використати SSL) і 5223 (SSL).
Що можна зробити:
- Спробуйте приєднатися на кожен зі стандартних портів; можливо, якийсь із них буде працювати (майте на увазі, що при виборі 5222 варто включати опцію "Шифрування (STARTTLS)", а при виборі 5223 — "Шифрування (старий SSL)".
- Перевірте, чи приймає ваш Jabber-сервер з'єднання на порт 443 (варто вибрати "старий SSL" у настроюваннях).
- Якщо нічого не допомогло, спробуйте використати механізм HTTP-poll, якщо ваш сервер його підтримує. Протокол HTTP-poll дозволяє реалізувати зв'язок із сервером шляхом посилки серверу HTTP-запитів (стандартно — на порт 5280), що, у принципі, повинне уможливити роботу через будь-який проксі-сервер, крім зовсім уже зачинених від зовнішнього світу.
Користувачі сервера jabber.ru мають кілька додаткових опцій завдяки тому, що навколо цього сервера побудована додаткова "обв'язка":
ssl.jabber.ru
підтримує з'єднання із шифруванням "старий SSL" на порт 443;allports.jabber.ru
підтримує з'єднання на будь-який порт із підтримкою протоколу STARTTLS.
Ці імена хостів і порти варто вводити в поля "хост" і "порт", відповідно, настроювання "Явно вказати адреса й порт для підключення".
(Інформацію про jabber.ru
ненавмисно бовкнув xmpp:sgolovan@nes.ru
)
Додаткова інформація про HTTP-poll:
Для того, щоб підключитися до сервера по HTTP-poll, потрібно знати URL для відправлення HTTP-запитів. Є два джерела подібної інформації:
- На веб-сайті сервера опубліковано настроювання — просто впишіть їх собі.
В ідеалі, сервер повинен мати спеціальний TXT-запис в DNS, що містить інформацію про HTTP-poll. Починаючи з версії 0.9.9, Ткаббер здатний сам виконати відповідний запит, так що поле "URL для підключення" у настроюваннях з'єднання по HTTP-poll можна залишити порожнім (однак, див. нижче). Якщо у вас більш стара версія Ткаббера, ви можете виконати відповідний запит вручну й увести отриманий URL у настроювання HTTP-poll. Запит виконується так:
Windows (у командній оболонці):
nslookup "-set type=TXT" _xmppconnect.jabber.ru
Unix:
dig +short _xmppconnect.jabber.ru txt
або
host -t txt _xmppconnect.jabber.ru
Зрозуміло, що у випадку сервера, відмінного від jabber.ru
, доменна частина
"псевдо-имени хоста" _xmppconnect.jabber.ru
повинна бути іншою (наприклад,
_xmppconnect.my.cool.server.org
).
Ця команда повинна повернути рядок, що містить URL для підключення, наприклад,
для jabber.ru
вертається
"_xmpp-client-httppoll=http://httppoll.jabber.ru"
. У настроюваннях,
відповідно, варто вказати URL http://httppoll.jabber.ru
. Природно, для іншого
сервера URL буде іншим.
Примітка:
для роботи з TXT-записами в DNS Ткабберу необхідна наявність у системі бібліотеки tcllib версії 1.7 і вище, а для роботи з SRV-записами — 1.8 і вище. Реально, значення має версія пакета dns у бібліотеці tcllib: підтримка SRV-записів з'явилася у версії 1.2.1 пакета, підтримка TXT-записів — у версії 1.1.8, але мала баг, що був виправлений у версії 1.3.1. Довідатися версію пакета dns, доступну Ткабберу, можна, виконавши в консолі Ткаббера (або в tclsh, wish, tckon) команду
package versions dns
(За інформацію про DNS TXT-запису, про HTTP-poll і за роз'яснення ситуації з версіями пакета dns — окреме спасибі тиклевому хакеру Pat Thoyts.)
А як мені зробити...?
А отут будуть висвітлюватися деякі нетривіальні хитрульки.
Відправлення повідомлень по Ctrl-Enter
Питання: чи Можна зробити так, щоб повідомлення відправлялися по натисканню Ctrl-Enter, а перехід на новий рядок відбувався по натисканню Enter, як це зроблено в Miranda і інших месенджерах?
Відповідь: Можна. Вам сюди.
Чи можна додати в ростер самого себе?
Питання: У мене запущено два Ткаббера: один вдома, інший на роботі. Обоє запущені від одного аккаунта, просто ресурси різні (приміром, **login@jabber.ru/Home і login@jabber.ru/Work). Безуспішно намагаюся додати їх у ростер, щоб, перебуваючи дома, бачити й відправляти повідомлення самому собі на роботу, і навпаки.**
Відповідь: Проблему можна розв’язати, щоправда, прийдеться піти на невелику хитрість.
- Переконаєтеся, що відкрито тільки "домашній" Ткаббер, тобто, ви працюєте як login@jabber.ru/Home. Якщо на роботі запущений інший, треба його спочатку прибити.
- Додайте в ростер (у версіях починаючи з 0.9.8 він називається "Контакти") користувача login@jabber.ru/Work. З'явиться запит для цього користувача із проханням авторизації. Відправте його, і коли відкриється вікно редагування контакту, додайте його в потрібну групу, якщо треба, але найголовніше, не забудьте відредагувати його ім'я - напишіть, наприклад, login/Work.
- Від’єднайтеся і приєднайтеся до сервера знову login@jabber.ru, указавши тепер як ресурс Work. Це важливо — "домашній" аккаунт повинен бути закритий! Зауважте, що ми не одержали запит на авторизацію, коли приєдналися. Так і повинно бути.
- Виконайте крок 2) ще раз, цього разу відредагувавши контакт, що додаєте, як login/Home.
- Запустіть ще один Ткаббер і приєднайтеся як login@jabber.ru, вказавши як ресурс Home. Запит на авторизацію не прийшов і зараз. Це добре.
- Подивіться в ростери обох Ткабберів - тепер "домашній" клієнт бачить там в онлайні login/Work, а робоча версія — login/Home. Можна також і слати один одному повідомлення. Якщо включити показ користувачів, що перебувають в оффлайні, ви побачите, що в "домашньому" і "робочому" Ткабберах "свої" контакти показуються саме як в оффлайні, так ще й чекають авторизації. Ще раз повторюю: так і повинне бути.
- Залежно від того, де ви робили ці маніпуляції — на роботі або дома — закрийте відповідний Ткаббер, для того щоб відкрити його вже дома/на роботі й продовжуйте користуватися цим дуетом відповідно до потреб.
- Якщо ви намагалися авторизувати який-небудь із цих контактів, поки було запущено оба Ткаббера, ви безсумнівно повинні були одержати запит на авторизацію від іншого клієнта. Якщо так воно й трапилося, у ростері ви один одного (сам себе) в онлайні вже не побачите. Прийдеться видаляти їх обох з ростера й починати спочатку.
Майте на увазі, що для того, щоб заходити обома цими клієнтами в ті самі конференції, потрібно, щоб ніки для конференцій були різні для кожного Ткаббера. Вам доведеться або відредагувати конфиг на кожній з машин, або проробляти це вручну. Але це вже окреме питання ;)
На заметку: Польский коллега desnajpa, в одиночку ковыряющий бедную чернозёмом землю Ткаббера, добился некоторых результатов в плане развития шизофрении у пользователей этого клиента. В его вариации программы — Tkabber-SK — уже имеется self-contact, добавленный в ростер. Тестируйте.
Одночасна робота з декількома аккаунтами
Питання: чи Можна в одному клієнті відкрити відразу декілька аккаунтів? Чи можна зробити так, щоб клієнт автоматично логувався до них усіх?
Відповідь: 1) Так. 2) Ні.
Тепер докладніше.
- Спочатку підключіться як звичайно, потім знову тиснете Ctrl-L ще раз і у вікні логіна йдете на вкладку "З'єднання" і знімаєте галочку "Закрити відкриті з'єднання", якщо вона стоїть. Потім або уведіть в першій вкладці нові параметри логіна, або вибираєте їх, нажавши кнопку "Профілі". Щоб було із чого вибирати, спочатку потрібно відредагувати розділ логіна у файлі конфігурації. Після логіна в ростереі під першим аккаунтом з'явиться другий. Робота із двома аккаунтами нічим не відрізняється від звичайної, треба тільки пам'ятати про такі речі як відправлення повідомлень, додавання користувачів у контакти та інше, що є в меню Ткаббера Служби. При виконанні цих дій у вас з'являється віконце, де крім інших є розкладне (drop-down) меню, що називається або "З'єднання", або "Від кого", де можна вибрати аккаунт, від імені якого ви будете ці дії робити.
- Якщо робота з декількома аккаунтами протікає цілком нормально, то автоматично логуватися до них усіх, схоже, не можна. У всякому разі, на сьогоднішній день це не реалізовано. І не буде реалізовано, поки хто-небудь сильно не захоче і не напише ;)
Як щодо автозаходу на конференції?
Питання: Набридло щораз заходити в десяток кімнат. Чи можна цю справу автоматизувати?
Відповідь: Починаючи з версії 0.9.8, Ткаббер вміє зберігати ознаку автозаходу в кімнату разом із самою кімнатою в списку контактів.
Додайте кімнату в список контактів одним із двох способів:
- Задійте Головне меню → Служби → Додати конференцію в контакти.
- Перебуваючи в потрібній кімнаті, натисніть кнопку "Тема" (ліворуч від поля теми кімнати, вона за замовчуванням не "випирає") і в меню, що з'явився, виберіть пункт "Додати конференцію в контакти".
У діалозі, що з'явився, додавання кімнати в список контактів включіть "Автоматично приєднуватися до конференції при підключенні". Також можете вписати нік, що буде використатися в цій кімнаті за замовчуванням.
На замітку: змінювати дані параметри кімнати, що перебуває в списку контактів, (поки) не можна. Але кімнату можна легко "передодати" у список контактів з потрібними опціями одним із двох описаних вище способів. При цьому її навіть не потрібно спочатку видаляти зі списку контактів — зміни "просто застосуються".
Цілком природно, що автозахід можна настроїти і через конфіг (для версії 0.9.7 і меньше це взагалі єдина можливість). Як водиться, все вже зробили до нас, залишилося тільки розшукати рішення. Сподіваюся, ви не образитесь, якщо на цьому прикладі я навчу вас користуватися google ;) Коли шукаєш що-небудь у цьому самому google, головне — правильно поставити запитання. У цьому випадку ключові слова: tkabber, autojoin, conference. Перший же результат пошуку убиває нам двох зайців, тому що містить посилання на окремий випадок.
Стискання трафіка в Ткаббері
Питання: У "фічах" версії 0.9.9 написано, що в цій версії реалізована підтримка стискання трафіка. Як це здійснити на практиці?
Відповідь: Для включення стискання вам буде потрібно встановити пакет
ztcl (якщо ви працюєте в Дебіані, можете
встановити ztcl з репозиторія Сергія Голованя aka teopetuk
(xmpp:sgolovan@nes.ru
): знайдіть нижче питання про репозиторій і дійте
відповідно до інструкцій). Встановивши пакет, запустіть знову Ткаббер. При
цьому у вікні логіна закладка SSL буде називатися тепер SSL &
Стискання. Йдіть туди й відзначте галочку "Стискання". Урахуйте, що не можна
одночасно включити й стискання, і шифрування, тому ми не рекомендуємо
користуватися стиском без крайньої потреби — дуже дорогого трафіка. Пам'ятайте,
що при передачі файлів стискання буде можливо лише при використанні inband
bytestream — без різниці, в SI або в Jidlink, — тому що лише в цьому випадку
файли шлються через сервер. Докладніше про пересилання читайте
тут.
На замітку: частково зменшити трафік (і сильно захистити приватність розмов) можна, використовуючи шифрування за допомогою gpg. Gpg при шифруванні стискає інформацію (звичайно, у випадку, якщо їх можна стиснути й zip'ом, тобто, звичайний текст). Природно, ваші співрозмовники теж повинні користуватися gpg або pgp.
Виділення тексту жирним, курсивом і підкресленням
Питання: Як виділити слово або фразу одним або декількома із цих стилів?
Відповідь: Перечитайте статтю швидкий старт — там все докладно розписано, і наведено приклади. Ще раз нагадуємо, що у цей час виділяти фрази, що містять пробіли, лише двома символами форматування по краях неможливо. Тобто, виділяти треба кожне слово. У майбутньому ситуація, можливо, зміниться. Якщо так — свиснемо ;) А доти *фраза от такого типу* буде виводитися у вікні чата "as is". Крім того, стартовий і стоповий символи виділення повинні торкатися символів “пробіл”, “таб”, “переклад рядка” ліворуч і праворуч, відповідно. Тобто, наприклад:
watch *this*! → watch *this*! (помилка: "!" відразу після "*") now *watch* this! → now watch this! (*фіг* вам!) → (*фіг* вам!) (помилка: "(" перед "*") (а от *фіг* вам!) → (а от фіг вам!)
Уведення "хитрих" юнікодових символів
Питання: У мене встановлена російська локаль, отже, я не можу вводити в Ткаббері символ ^, символи начебто наголосу і інших хитромудрих західноєвропейських букв. Якось можна це налагодити?
Відповідь: Можна, але спосіб цей украй незручний у практичному плані. Одиничні юнікодові символи вводяться в поле редагування повідомлень у наступному форматі:
&шістнадцятковий_код_символуCtrl + ;
Це нагадує уведення подібних символів у HTML-код: &#код_символа;
(зверніть
увагу, що в Ткаббері вводити "решетку" # не потрібно). Пояснимо:
- Спочатку йде значок амперсанда — &,
- потім шістнадцятковий код потрібного вам символу (без # спереду),
- і наприкінці треба натиснути одночасно клавішу Control і клавішу крапка з комою (не в російській розкладці).
При цьому ткаббер замінить вашу конструкцію (включно, від & до останнього уведеного перед натисканням Ctrl-; символу) на відповідний символ юнікода.
Наприклад, &c2; → A.
На замітку: символ ";" перебуває в основному регістрі англійської розкладки (тобто вводиться простим натисканням на відповідну клавішу), але в інших розкладках її розташування може відрізнятися. Наприклад, в іспанській крапка з комою викликається натисканням Shift і клавішою коми. Тобто, після набору амперсанда й коду символу треба нажати Ctrl-Shift-,.
Набирати в такий спосіб довгий текст, що містить безліч акцентів і інших "кракозябр" — суцільне мука. От ще один спосіб дещо простіший. Можна відкрити поруч текстовий редактор, що підтримує юнікодові символи (наприклад, Vim, gedit або той же Word), увести туди всі потрібні вам символи і копіювати їх у поле уведення Ткаббера, коли потрібно. Теж не дуже гарне рішення, але проте, може статися у нагоді.
Ігнор — велика річ!
Питання: А чи доступне користувачам Jabber ігнор, що так здорово допомагав уникати конфліктів на IRC-каналах?
Відповідь: У специфікаціях MUC (Multi-User Chat) ігнорування не закладене. Якщо
кімната напіванонімна, то неадміністратори не бачать JID учасників — тільки
ніки. Ігнорувати по ніку — смішно, але краще щось, чим нічого. Як це можна
зробити? Повідомлення з кімнат приходять від джида кімнати. Повідомлення від
присутніх там — у вигляді джида кімнати з ресурсом, що є ніком автора
повідомлення. Тобто повідомлення від користувача pupkin
з кімнати
rotten-chatter@conference.jabber.ru
приходять від джида
rotten-chatter@conference.jabber.ru/pupkin
. Це можна використати для
емуляції ігнор-листів: додавати в список приватності "ігнорований" от такі
повні джиди.
У Ткаббері захист приватності забезпечується двома списками: "невидимий" і
"ігнорований" (про граматичну коректність цих назв промовчимо). Нас цікавить
другий. Викликаємо список на редагування (Tkabber → Забезпечення приватності
→ Змінити ігнорований список) і додаємо в нього JID ненависної вам людини
так, як було описано вище:
room_name@conference.jabber-server.org/trolls_nick
. Після натискання на
кнопку "Відправити" невідома сила вибиває вас із кімнати. Перезайдіть, і voila!
— тепер ви не побачите не тільки фраз цієї людини, але і його самого в кімнаті,
так само як будь-які iq-запити з його боку. Саме собою, це вірно тільки для
однієї кімнати й для одного ніка. Для інших треба зробити окремі записи в
списку. Так буде тривати доти, поки він не перемінить нік або поки ви не
видалите цей запис із ігнорованого списку (буде потрібно перезайти до кімнату).
Якщо кімната не напіванонімна, при заході до неї вам видно всі JID учасників. Може здатися, що тепер ігнор буде працювати краще, але це не так. Якщо внести до списку ігнорування тільки JID, ми перестанемо одержувати персональні повідомлення, але не повідомлення, що відсилають у конференцію, а також у приват з вами, організований через конференцію. Висновок: для ігнорування в кімнатах годиться тільки описаний вище формат.
Важливе доповнення: дослідження практичної сторони показали, що ефективність такого способу ігнорування дуже низька. “Зловмисник” міняє нік і відразу з'являється в списку учасників конференції. Вам же доводиться заново вносити новий JID у список, при цьому вас знову виб'є з кімнати. Втім, якщо “зловмиснику” ніхто не скаже, що його додали в ігнор, то він може й не здогадатися перемінити нік. На крайній випадок у кімнати є власник і адміністратори. Навряд чи їм сподобається, якщо хтось буде знущатися з відвідувачів.
Підтвердження
Питання: Я отут уже кілька разів випадково закрив "Всі вкладки" замість однієї, а Ткаббер навіть не поцікавився, чи не з'їхав я з глузду. Не дуже інтелектуальне поводження для такої просунутої програми :-P
Відповідь: Проблема вирішена. Скачайте відповідний плагін. Ткаббер тепер буде запитувати у вас, чи не з'їхали ви з глузду, закриваючи таку просунуту програму ;-P
Віддалене керування
Питання: Ткаббер підтримує віддалене керування, щоб я, приміром, міг з домашньої машини керувати Ткаббером, що раніше запустив на роботі?
Відповідь: Ще й як. Куріть теорію.
Але, якщо після читання ви не перейнялися міццю tcl/tk і команди send, то версія з SVN підтримує JEP-0146 Remote Controlling Clients. Керування здійснюється через диско-браузер. Відкрийте його, уведіть свій повний jid з ресурсом у поле "JID", і ви побачите пункт "Віддалене керування", а далі як звичайно. Зверніть увагу, що по-умовчанню доступ до керування дозволений тільки jid-ам, у яких базова частина без ресурсу збігається з такою ж частиною jid-а керованої машини. Якщо вам потрібно більше, подивіться настроювання.
Команди Ткаббера
Питання: Як можна швидко глянути версію клієнта й OS співрозмовника? Взагалі, які команди виконує Ткаббер і як ними користуватися?
Відповідь: Наберіть /version nick. Навіть коли в кімнаті є бот, що вміє запитувати версії, краще користуватися такими от командами, щоб не забивати вікно розмови непотрібною іншим інформацією. Щоб довідатися інші команди, наберіть прямій слеш / і понатискайте табуляцію — Ткаббер почне перебирати всі доступні йому команди (kick, ban, unban, vcard і так далі). Урахуйте, якщо у вас установлений плагін socials, то тоді при переборі команд з'явиться й купа соціалів типу howl, applaud і інших. До речі, якщо натискати табуляцію при порожньому рядку уведення, у ній почнуть перемінятися ніки мешканців кімнати. І наостанок, ще одна фішка: якщо тикнути мишею у вікні чата або в списку учасників у нік, він теж з'явиться в рядку набору повідомлення — досить корисно для особливо довгих ніків.
Приховування версій клієнта і OS
Питання: Я параноїк (працівник ФСБ, ЦРУ, спецагент-фрилансер, **вставте свій варіант), і мене напружує, що Старший Брат (ЦРУ, ФСБ, злий хацкер, вставте свій варіант) може довідатися, яка в мене система, і потім хакнуть у темному провулку.**
Відповідь: Немає нічого простіше: Tkabber → Настроювання → IQ. Там є де розгорнутися:
- Відключіть опцію
::plugins::options(reply_iq_version)
і насолоджуйтеся анонімністю. - Щоб злий хацкер не довідався, скільки часу показують ваші годинники на
комп'ютері, відключіть
::plugins::options(reply_iq_time)
. - Щоб він не довідався, чи сидите ви за компом або вийшли покурити (щоб саме
- знати, коли вже починати хакати), відключіть
::plugins::options(reply_iq_last)
. - Дійсні параноїки крім цього повинні пам'ятати ще про дві опції:
- включити
::iq::options(show_iq_requests)
(показувати чужі запити до вас у статусному рядку) і - відключити
::muc::options(report_muc_rooms)
(щоб у Диско через ваш нік не можна було дізнатися у яких кімнатах ви сидите).
- включити
- Щоб взагалі ніхто нічого ніколи про вас не довідався, закрийте Ткаббер, висмикніть мережевиий кабель і вимкніть комп'ютер. Прямо зараз. Поки цього не зробили МИ! ;)
Різне
...а мені ГРАТИ хочеться!!!
Питання: Чув я, що в Ткаббері можна грати в шахи, шашки й т.д. Де мені знайти суперників, а то із друзів ніхто не грає?
Відповідь: Ще як можна. Для початку вам треба встановити ігрові
плагіни. А якщо не з ким грати, ласкаво просимо в
xmpp:tkabber-games@conference.jabber.ru
— чим більше народу буде там
тусоватися, тим більше шансів знайти собі суперника під силу.
Власник кімнати xmpp:agnessa@jabber.ru
, із всіх питань відносно цієї кімнати
звертайтеся до неї.
Старі версії Ткаббера і плагинів
Питання: Де я можу скачати сабж? Відповідь: На сайті jabberstudio.org зберігаються всі стабільні версії Ткаббера та плагинів, починаючи з 0.9.4.