Linuxoví klienti pro Jabber

25. 5. 2001
Doba čtení: 8 minut

Sdílet

Potřebujete být v kontaktu s lidmi na stejném projektu nebo si jenom rádi občas poklábosíte (od slova klábosnice :) )? Tentokrát můžete zkusit třeba Jabber Instant Messenger pod Linuxem. Kudy na to se hned dozvíte. Následující článek vám představí několik klientů pro tento systém a také snad pomůže je zprovoznit.

Úvod – Jabber ?

Nejsem si jistý, jestli už Jabber znáte, tak se vám pokusím o něm něco říct (snad to nebude moc připomínat předčítání Vogonské poezie). Jabber je otevřený protokol pro instant messengery – programy, které umí zprostředkovat online komunikaci mezi uživateli. Umožnuje posílat krátké zprávy (message), privátní rozhovor dvou uživatelů (one-on-one chat), konference více lidí připomínající BBS (groupchat). Kontakty a jejich rozdělení se drží na serveru, takže je stačí nastavit pouze jednou. Je možné (nepovinné) zveřejnit svoji vizitku (vCard) v centrálním adresáři (JUD Jabber User Directory), takže vás ostatní mohou snadno nalézt. Pokud to dovolíte, může si vás známý zaregistrovat a od té doby také tím pádem poznat, kdy jste právě k zastižení na síti.

Otevřenost protokolu ho umožňuje komukoli použít a napsat si vlastního klienta nebo i server. V současné době existuje poměrně stabilní Jabber server vydaný pod Jaber Open Source License, který je možné volně šířit a používat, a k němu hned několik klientů pro různé platformy.

Architektura byla navrhována tak, aby se Jabber mohl stát novým otevřeným internetovým standardem pro IM, tak, jako se dříve rozšířily protokoly FTP pro přenos souborů nebo SMTP pro přenos e-mailů.

Každý uživatel má v systému jedinečný identifikátor (JID – Jabber ID), který vypadá podobně jako e-mailová adresa login@server.domena. Tak jako může uživatel vlastnit více emailových účtů, může vlastnit i několik JID na různých serverech. I komunikace mezi uživateli různých serverů by se dala přirovnat k elektronické poště, kterou si jejich servery předávají mezi sebou.

Potřebujete se přihlašovat z různých míst, a to dokonce zároveň? Žádný problém. Upřesnění toho, odkud se uživatel právě připojil, říká parametr resource, jehož zadání je pro přihlášení povinné (co si tam vyplníte je samozřejmě jenom vaše věc, defaultně tam bývá jméno klienta, kterého používáte).

Při posílání zprávy je možné (ne nutné) rozhodnout, na který konkrétní resource zprávu doručit. Například můžeme poslat uživateli karel do práce zprávu „Neflákej se! :)“ na adresu „karel@jabber­.org/Prace“.

Velkou výhodou je možnost použití takzvaných transportních agentů, přes které se můžete zároveň s jabberem přihlásit i do jiných podobných služeb, jako jsou ICQ, MSN, Yahoo, takže můžete pomocí jednoho klientského programu být v kontaktu s lidmi používajícími různé instant messangery (spojení se provádí ze serveru, ne z vaší klientské stanice).

Svůj uživatelský účet můžete získat na jednom z několika veřejných serverů (neveřejných jich prý už běží několik tisíc). V Čechách například na Západočeské univerzitě dione.zcu.cz a časem snad i na jabber.cz (před několika dny byl spuštěn testovací provoz – pozn. redakce). Ze zahraničních serverů stojí za zkoušku jabber.org, jabber.com, myjabber.org, anebo si můžete vybrat jeden z jabberview – monitoru online veřejně dostupných serverů.

Instalace vlastního serveru může být dobrá volba například pro vnitřní komunikaci ve firmě, protože pak nezatěžujete zbytečným provozem internetovou linku, navíc máte jistotu, že vaše firemní komunikace nelítá někde po světě :). Podobně jsem Jabber našel, sháněl jsem nějaký rozumný a navíc 100% legální prostředek ke komunikaci pro jednu malou síť mimo internet (za devaterými horami a devaterými kopci).

Tlachací klienti pro Linux

JARL

Jarl Login

Roster

Message
GroupChat

Byl prvním klientem, který se mi podařilo pod Linuxem zprovoznit. Je k tomu sice potřeba spousta perlových balíčků (zapomněl jsem říct, že je to perlový klient), ale nebojte se, dají se všechny v pohodě sehnat.

Jarl má implementovány všechny základní funkce – message, one-to-one chat, groupchat, transport agents, řazení kontaktů do skupin. Všechno je naskládáno v jednom okně. Při přijetí zprávy pípne. Mužete si nastavit několik uživatelských profilů, oblíbené diskusní skupiny nebo fonty. Tím bohužel asi veškerá konfigurovatelnost končí. Nejvíce mi asi chyběla možnost nastavení automatického přihlášení po spuštění, nebo lepší nastavení upozornění na příchozí zprávy (pípnutí je super, ale kdo programuje bez POŘÁDNÉ muziky ;) ). Program se bohužel už více než půl roku nevyvíjí.

Na zprovoznění budete potřebovat samozřejmě perl a také tyto další balíčky, které pravděpodovné ve své instalaci ještě nemáte.


Gabber

Gabber Logo

Gabber Login

Gabber Roster
Gabber Message

Tento klient pro desktop GNOME si ve svém vzhledu bere za vzor spíše ICQ – malé okno pro kontakty, samostatná okna pro chat a zprávy. Oproti jarlu neobsahuje Gabber uživatelské profily. Naopak s nastavováním vlastností a funkcemi protokolu je na tom mnohem lépe. Můžete si např. zvolit, zda se nové zprávy budou automaticky otvírat (okamžitě se objeví popup okno), nebo čekat na otevření (vedle jména odesílatele bude blikat ikonka).

Pro upozornění na zprávy můžete použít dockovatelný applet žárovičky pro GNOME panel, který blikající ikonkou oznamuje nové zprávy. Abyste jej viděli, musíte ho jednak povolit v konfiguraci programu, navíc je potřeba na některý panel umístit ukazatel stavu (Status Dock). Přídáte jej z menu Panel/Přidat na panel/Ukazatel Stavu. Pomocí appletu je možné vyvolávat některé funkce nebo úplně schovat hlavní okno .

Druhou možností, jak nepropásnout žádnou důležitou zprávu, může být nastavení zvuků. Gabber pro ozvučení používá zvukové události desktopu GNOME. Přiznám se, že jsem tak původně celou podporu zvuků přehlédl, protože zvukové události mám normálně vypnuté. Změnit vše můžete tak, že spustíte řídící centrum (Control Center – oboje zní jako centralní mozek lidstva ;) ) a tam v sekci Multimédia/Zvuk povolíte na první záložce obě volby (spustění sound serveru, zvukové události) a na druhé záložce zvukových událostí pak můžete vybrat v sekci Gabber jednotlivé zvuky, které se mají použít.

Za zmínku stojí také možnost šifrovat komunikaci pomocí programu gnupg (opensource obdoba známějšího PGP). Gabber má implementovanou i funkci, kterou jsem zatím jinde nenašel – zadání filtrovacích pravidel pro provádění jednoduchých akcí s došlými zprávami (zprávy se pak na serveru vesele prohánějí pravidly, aby se nenudily, když nejste právě nalogováni ).

Gabber je klient napsaný v C++. Vzhledem k tomu, že používá GTK toolkit a prostředí GNOME (obě mají standardně jenom Céčkové rozhraní), je jeho kompilace trochu složitější o to, že potřebujete nejdřív rozchodit C++ rozhraní k těmto dvěma knihovnám. Začátečníkům a lenochům doporučují 4 z 5 autorů cestu nejmenšího odporu = stáhnout si ze stránek projektu raději předkompilované staticky linkované binárky (pouze v RPM).

Pokud se vám nechce z nějakého důvodu používat staticky linkovanou verzi a dynamicky linkovaný Gabber vašemu tučnákovi prostě nešmakuje, můžete se samozřejmě pokusit překompilovat Gabber sami. Po srpm balících gtkmm a gnomemm se můžete zkusit podívat třeba u Red Hatu nebo Ximianu (gtkmm mi hlásil na RH 7.0 nějaké překladové chyby – prý je to špatnou verzí kompilátoru, takže jsem musel vzít zavděk binární distribucí, gnomemm jsem překompiloval). Autoři doporučují používat balíky knihoven gtkmm, gnomemm a sigc++, které byly překompilovány na stejné konfiguraci (nejlépe na té vaší), protože na sobě vzájemně závisejí.

Budete potřebovat tyto balíky:

  • libsigc++ >= 1.0.0
     – bývá standardní součástí mnoha distribucí (Debian, RH 7.1 Powertools)
     – libsigc++-devel-1.0.1–1.i386.rpm
     – libsigc++-1.0.1–1.i386.rpm
  • gtkmm >= 1.2.1
     – společně s knihovnou libsigc++ tvoří objektové rozhraní k toolkitu GTK+
     – (najdete např. na RH 7.1. Powertools)
     – gtkmm-devel-1.2.3–11.i386.rpm
     – gtkmm-1.2.3–11.i386.rpm
  • gnomemm >= 1.1.12
     – objektové rozhraní ke knihovnám gnome
     – gnomemm-1.1.12–3.i386.rpm
  • gnome-libs >= 1.2.0
     – máte-li starší gnome-libs, budete pravděpodobně chtít celého nového Gnoma.
  • libglade >= 0.11
     – u Ximianu (dřive Helixcodes) můžete najít i ostatní balíky
  • libunicode >= 0.4
     – najdete např. na RH 7.1 PowerTools


Gaim

Gabber Logo

Gabber Roster

Gabber Message

Gaim je klient původně pro AOL Instant Messenger. Pomocí pluginů však už ovládá pěknou řádku protokolů (a docela se mu to hodí, když se teď AIM snaží obrnit proti každému cizímu klientovi). Jedním z podporovaných je také protokol Jabber. Gaim samotný nabízí docela rozumné možnosti nastavení – zvlášť nastavení zvuků může být užitečné. Co mu bohužel zatím opravdu chybí, je čeština. Nejde však jako u jarla jen o nějaké špatné zobrazení diakritiky – jediný český znak gaim spolehlivě sestřelí. Oproti dvěma předchozím klientům nedokáže tento klient využít plně všech funkcí protokolu – nepodporuje groupchat ani transporty. Přesto, že vymožeností zde nenajdete mnoho (zřejmě kvůli kompatibilitě s původním AIM), může tento klient někomu vyhovovat, ať už kvůli zvukovým upozorněním, nebo kvůli zprávám s jednoduchým HTML renderem překládajícím kombinace jako :-) na grafické smajlíky.

Nenáročná byla kompilace tohoto klienta. Jediný balík a trojice zaklínadel „./configure“ „make“ „make install“ opravdu stačí. Binárku tohoto programu najdete např. i v poslední distribuci Red Hatu (7.1), ale vzhledem k tomu, jak rychle se vyvíjí, je lepší si stáhnout aktuální verzi z internetu a překompilovat.

K tomu, aby Gaim používal protokol Jabber, je potřeba nejprve v nastavení „Plugins“ přidat plugin libjabber.so.0­.0.0. Pak už můžete při vytváření nového uživatele zvolit protokol Jabber (volba „Accounts“ :) )

ict ve školství 24


V současnosti existují ještě další Jabber klienti pro Linux:

  • Pybber
     – prý použitelný, ale na internetu není kde získat potřebné balíky. Snad někdo ze čtenářů se s námi podělí o knihovnu pyJama, bez které to nejede :). Projekt už více než půl roku stagnuje.
  • EveryBuddy
     – víceprotokolový IM. Protokol Jabber podporuje zasuvným modulem podobně jako Gaim. I tento klient se relativně rychle rozvíjí.
  • Konverse
     – klient pro KDE desktop
  • Cabbar
     – klient používající GTK toolkit, základní funkčnost – více než rok už se nevyvíjí
  • SJabber
     – konzolový klient pouze pro groupchat – obdoba IRC. Nepřipadal mi moc použitelný.


bash# wall "Nashledanou (O_O)"
bash# logout