IRC ist das klassische Chat-System aus der Unix-Welt, doch neuere Instant-Messenger werden immer beliebter, vor allem bei Windows-Anwendern. Mit BitlBee nutzen Sie auch die neuen Anwendungen per IRC-Client.
Unix und das Internet können auf eine langjährige gemeinsame Entwicklung zurückblicken, und so verwundert es auch nicht, dass das IRC-Protokoll schon 1993 definiert wurde: Über zehn Jahre tauschen sich also Unixler bereits in IRC-Channels oder privaten Queries aus. Älter ist nur das rudimentäre talk-Kommando, das erstmals 1984 in BSD 4.2 auftauchte, aber in ähnlicher Form bereits 1973 existierte [2]. (Es erlaubt eine Art direkter Unterhaltung zwischen genau zwei Anwendern.)
Erst vergleichsweise spät hat die Windows-Welt das Internet und 1996 auch das Konzept des Chattens entdeckt, der erste Instant-Messaging-Dienst war ICQ (“I seek you”) [3]. Mittlerweile sind die diversen IM-Produkte populärer als IRC, und für alte IRC-Fans stellt sich die Frage, wie sie mit ICQ-, AIM-, MSN- und anderen IM-Anwendern in Kontakt treten können.
Die Frage ist nicht neu und wurde auch bereits beantwortet, Tools wie Gaim [4] und CenterICQ [5] integrieren den Zugang zu verschiedenen Messaging-Systemen in einem Client. Doch wer schon fünf Jahre oder länger im IRC unterwegs ist, hat meist seinen persönlichen Lieblings-Client gefunden, Tipps und Shortcuts entdeckt und sich so sehr daran gewöhnt, dass ein Umstieg nicht in Frage kommt.
Alles bleibt gleich
Hier kommt BitlBee ins Spiel: Das Programm erlaubt es seinen Benutzern, mit einem klassischen IRC-Client auf Instant-Messaging-Netze zuzugreifen. Damit muss es ein Vermittler zwischen den Welten sein: Aus Sicht des IRC-Clients benimmt es sich wie ein IRC-Server (denn nur mit solchen nehmen IRC-Clients eine Verbindung auf), und an den IM-Servern meldet es sich als regulärer Client an.
Kontakte (“Buddies”) aus den verschiedenen IM-Systemen müssen BitlBee einmalig bekannt gemacht werden, danach tauchen sie automatisch im Channel #bitlbee auf, sobald sie sich anmelden. Für die Kontaktaufnahme wird dann wie üblich ein Query geöffnet.
Die BitlBee-Installation besteht aus zwei Teilen: Nach dem Übersetzen der Quelltexte müssen Sie noch den “Super-Server” Xinetd konfigurieren; verwenden Sie stattdessen die RPM-Archive, fällt dieser Schritt weg (Kasten 1).
Kasten 1: Installation
Wenn Sie BitlBee [6] aus dem Sourcecode erstellen möchten, finden Sie in dem Programm ein schönes Beispiel für eine Abhängigkeitskette: Für BitlBee benötigen Sie die GnuTLS-Bibliothek [7], und die wiederum braucht libgcrypt[8], das sich nur mit libgpg-error[9] installieren lässt.
Sind die Abhängigkeiten erfüllt, können Sie alle Pakete (in der Reihenfolge libgpg-error, libgcrypt, gnutls und bitlbee) als root jeweils mit dem üblichen Dreischritt
./configure make make install
übersetzen und installieren. GnuTLS geben Sie beim configure-Aufruf noch den Parameter --disable-openpgp-authentication mit – anderenfalls müssten Sie noch das Paket libopencdk installieren. Außerdem ließ sich im Test mit Red Hat Linux 9 die aktuelle GnuTLS-Version 1.0.6 nicht übersetzen, während es mit der Vorgängerversion 1.0.5 keine Probleme gab.
Bei BitlBee selbst läuft der configure-Aufruf sehr schnell durch und meldet nach wenigen Sekunden, mit welchen Optionen das Programm gebaut wird:
BitlBee configure
Architecture: Linux Linux is our primary development platform, BitlBee should work well.
Configuration done: Debugging disabled. Binary stripping enabled. Tcpd support disabled. iconv support enabled. Building with these protocols: msn jabber oscar yahoo
Wichtig ist die Liste der unterstützten Protokolle. “Oscar” ist dabei das AOL/AIM-Protokoll, die übrigen Namen sind selbsterklärend.
Wenn das Verzeichnis /usr/local/lib noch nicht in der Konfigurationsdatei /etc/ld.so.conf enthalten ist, fügen Sie es einfach hinzu und rufen ldconfig auf:
echo /usr/local/lib >> /etc/ld.so.conf ldconfig
Danach müssen Sie noch die Xinetd-Konfiguration anpassen, damit BitlBee als neuer Service bekannt ist. Dazu kopieren Sie die vorbereitete Datei doc/bitlbee.xinetd in das Xinetd-Verzeichnis und fordern den Xinetd-Server auf, die Konfiguration neu zu lesen.
cp doc/bitlbee.xinetd /etc/xinetd.d/bitlbee killall -HUP xinetd
Damit ist die Installation abgeschlossen.
Die RPM-Variante
Deutlich einfacher ist es, die RPM-Pakete (bitlbee und libsoup) zu installieren. Dabei wird auch automatisch die Xinetd-Datei /etc/xinetd.d/bitlbee entpackt, die Sie (je nach Distribution) noch anpassen müssen: Die Zeile
disable = yes
kommentieren Sie aus, indem Sie eine Raute (“#”) voranstellen.
Dann können Sie nach einem
killall -HUP xinetd
bereits den ersten Anmeldeversuch unternehmen. Sollte der Xinetd-Server gar nicht laufen, starten Sie ihn mit
/etc/init.d/xinetd start
BitlBee belegt den Standard-IRC-Port 6667, so dass Sie die lokale Maschine als regulären IRC-Server (ohne Angabe eines Ports) ansprechen können. Legen Sie einfach direkt los: Im IRC-Client Ihrer Wahl (z. B. irssi[10] oder X-Chat [11]) bauen Sie eine Verbindung zum IRC-Server localhost auf:
/server localhost
Die Verbindung wird sehr schnell aufgebaut, und danach betreten Sie automatisch den Kanal#bitlbee. Erste Informationen zur Bedienung bekommen Sie, wenn Sie “help” eingeben, aber wir beschreiben im Folgenden, wie Sie BitlBee konfigurieren, so dass Sie diesen Schritt auslassen können.
Zunächst müssen Sie sich gegenüber dem Server registrieren. Da BitlBee mehrere Benutzern gleichzeitig verwenden können, ist das sinnvoll. Der Server erkennt Sie dann künftig an Ihrem Nickname und dem Passwort. Wählen Sie ein Passwort und geben Sie
register passwort
ein. Sie erhalten darauf die Antwort “Configuration saved”.
Im nächsten Schritt definieren Sie Accounts, die Sie bei Instant-Messaging-Anbietern haben.
ICQ und AIM (AOL)
Für einen ICQ-Account müssen Sie neben der ICQ-Kennung und dem Passwort auch den Login-Server angeben, das sieht dann so aus:
account add oscar ID Passwort login.icq.com
Jeder solche Befehl wird mit der Erfolgsmeldung “Account successfully added” quittiert – was noch nicht heißt, dass es eine erfolgreiche Anmeldung gab, das kommt später.
Ähnlich ist die Zeile für einen AIM-Account (AOL Instant Messenger):
account add oscar ID Passwort login.oscar.aol.com
Yahoo, MSN & Co.
Für Yahoo, MSN und andere Protokolle sind die Befehle kürzer, weil hier die Angabe des Servers wegfällt.
account add yahoo ID Passwort account add msn ID Passwort
Mit dem Befehl account on fordern Sie BitlBee auf, die Verbindungen zu den angelegten Accounts aufzubauen. Sind Account-Daten fehlerhaft, erscheinen entsprechende Hinweise. Anderenfalls sehen Sie auf dem Channel neue Benutzer, die als Nickname den jeweiligen Nickname im IM-Netzwerk haben: Das sind immer Sie selbst.
Wenn Sie bei der Eingabe Fehler gemacht haben, können Sie Accounts auch wieder löschen. Dazu rufen Sie zunächst mit
account list
eine nummerierte Liste auf; danach können Sie Accounts mit
account del Nummer
löschen.
Buddies hinzufügen
Um nun Ihre Bekannten aus den IM-Netzen kontaktieren zu können, machen Sie diese BitlBee bekannt. Dafür gibt es den add-Befehl. Sie benötigen den Nickname des Bekannten im jeweiligen Netz, außerdem die Nummer des konfigurierten Accounts aus der Liste, die Sie mit account list erhalten. Wenn der Yahoo-Account beispielsweise die Nummer 0 und Ihr Bekannter im Yahoo-Netz die Kennung 12345678 hat, lautet der richtige Befehl
add 0 12345678 Freund
Die zusätzliche Angabe Freund führt dazu, dass Sie später nicht die numerische ID 12345678, sondern den einfacheren Nickname Freund verwenden können.
Wenn Ihr Bekannter online ist, wird er sofort den Channel betreten. Ist er abwesend (away), erscheint er als normaler Benutzer. Wenn er aktiv ist, erhält er das Voice-Attribut auf dem Channel.
Haben Sie alle Bekannten hinzugefügt, ist die Einrichtung abgeschlossen. Geben Sie noch save ein, um alle Daten zu sichern.
Kontakt
Um nun endlich mit Ihren Bekannten zu sprechen, haben Sie zwei Möglichkeiten. Welche Benutzer online sind, sehen Sie ja an der Liste der Nicks auf dem Channel #bitlbee. Wird dort beispielsweise der Benutzer user1 angezeigt, öffnen Sie einfach IRC-typisch mit
/query user1
einen Query zu diesem Benutzer. Je nach verwendetem Programm geht das auch per Doppelklick oder über das Kontextmenü des Nicks. Alternativ können Sie auch auf dem Channel #bitlbee bleiben und dort Zeilen der Form
<§§I>Nickname<§§I>: Nachricht
eingeben. Die meisten IRC-Clients unterstützen diese Methode durch automatisches Vervollständigen des Nicknames, wenn Sie die ersten Buchstaben eingeben und dann [Tab] drücken.
Nächster Start
Wenn Sie den IRC-Client beenden, müssen Sie sich beim nächsten Anmelden mit dem gleichen Nickname anmelden, den Sie beim ersten Durchgang verwendet haben. Danach geben Sie im #bitlbee-Channel den Befehl
identify Passwort
ein, wobei Sie das Passwort verwenden, das Sie während der Einrichtung im password-Befehl angegeben haben. Nach dieser Anmeldung werden Sie dann automatisch in allen registrierten IM-Netzen angemeldet.
Mehr Features
BitlBee bietet noch weitere Möglichkeiten. Eine Übersicht aller verfügbaren Kommandos erhalten Sie mit
help commands
und können dann mit
help Befehl
Informationen zu einzelnen Befehlen anfordern. Bei einigen geht die Hilfe noch weiter, so dass Sie auch zu Optionen von Befehlen Hilfe erhalten:
help Befehl Option
Praktisches Gateway
BitlBee erschien im Test als ausgereiftes Tool. Zwar ist die Erstkonfiguration ein wenig umständlich, aber dieser Schritt muss ja nur einmal durchgeführt werden – danach können Sie immer automatisch in allen IM-Netzen angemeldet sein und dazu noch auf den IRC-Client Ihrer Wahl zurückgreifen.
Glossar
-
IRC
-
Internet Relay Chat ist ein Protokoll, über das Chat-Clients sich an speziellen IRC-Servern anmelden können. Ferner können mehrere IRC-Server vernetzt werden, sie bilden dann ein IRC-Netz. Es gibt zahlreiche Netze, unter den größeren z. B. das überwiegend aus Hochschulrechnern bestehende IRCnet und das Freenode-Netzwerk.
-
Queries
-
Ein Query ist eine 1:1-Verbindung, ein privates “Gespräch”. Im Gegensatz dazu können auf einem Kanal (Channel) mehrere Anwender parallel miteinander kommunizieren.
-
Kanal
-
Auf jedem IRC-Server finden Sie zahlreiche Kanäle (englisch: Channels). Die Channel-Namen beginnen mit einer Raute (“#”), und der Rest beschreibt oft, aber nicht immer, das Thema oder den Zweck des Channels.
Infos
[1] IRC Protocol RFC, http://www.irchelp.org/irchelp/rfc/rfc.html
[2] Term Talk, http://www.platopeople.com/termtalk.html
[3] Die Geschichte des Instant Messaging, http://www.almark.net/Internet/html/slide6.html
[4] Gaim, http://gaim.sourceforge.net/
[5] CenterICQ; Frederik Bijlsma: “Kommunikationszentrale”, LinuxUser 02/2004, S. 66
[6] BitlBee: http://www.bitlbee.org
[7] GnuTLS: http://www.gnu.org/software/gnutls/
[8] Libgcrypt: ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/
[9] Libgpgerror: ftp://ftp.gnupg.org/gcrypt/alpha/libgpg-error/
[10] Irssi-Artikel; Martin Loschwitz: “Chat-Komfort im Terminal”, LinuxUser 06/2002, S. 28, http://www.linux-user.de/ausgabe/2002/06/028-irssi/irssi.html
[11] X-Chat-Artikel; Hans-Georg Eßer: “Komfortabel in den IRC”, LinuxUser 03/2001, S. 26, http://www.linux-user.de/ausgabe/2001/03/026-xchat/xchat.html




