Textbasiert chatten mit Irssi

Aus LinuxUser 12/2005

Textbasiert chatten mit Irssi

IRSSInnig gut

Ressourcen sparend, aber mächtig: Der Konsolenchat Irrsi schlägt gleich zwei Fliegen mit einer Klappe – zahlreiche Skripte machen aus dem Hänfling einen Chat-Giganten.

Im Artikel Schwatzhaftes Internet (siehe Artikel S. 52) haben Sie gelernt, mit den Grundbegriffen des IRC (Internet Relay Chat) umzugehen. Wollen Sie IRC so kennen lernen, wie er einst gedacht war – nämlich textbasiert – sollten Sie dem Konsolen-Client Irssi Ihr Augenmerk widmen. Dieser Client ist keineswegs altbacken oder in seinen Funktionen eingeschränkt, sondern schlägt in puncto Features und Usability so manch grafischen Bruder.

TIPP

Auf den meisten Distributionen ist die aktuelle Irssi-Version 0.8.9 bereits enthalten, und Sie installieren sie über den jeweiligen Paketmanager. Ist kein vorkompiliertes Paket vorrätig, übersetzt der übliche Dreisatz ./configure, make, make install die Quellen [1]. Hegen Sie besondere Wünsche in Bezug auf Irssi, wie z.B. die SSL-Fähigkeit, verrät Ihnen ein Blick in die Datei INSTALL, welche Bibliotheken Sie zum Kompilieren zusätzlich brauchen.

Da es sich bei Irssi um ein reines Konsolenprogramm handelt, öffnen Sie zum Programmstart zuerst eine Konsole Ihrer Wahl und geben dort irssi ein. Sie sehen zuerst das Statusfenster (Abbildung 1), in dem später Server-Nachrichten und Hilfetexte erscheinen. Die kleine [1] neben der Uhrzeit sagt Ihnen, dass Sie sich im ersten Fenster befinden.

Wie im vorigen Artikel beschrieben, melden Sie sich nun mit /connect irc.servername.de bei einem Server Ihrer Wahl an. Betreten Sie den gewünschten Raum mit /join #Raumname oder /j #Raumname.

Abbildung 1: Kanal voll: Auf der Irssi-Webseite finden Sie zahlreiche Hinweise zu dem textbasierten Chatprogramm, außerdem gibt es dort Skripts und Themes.

Abbildung 1: Kanal voll: Auf der Irssi-Webseite finden Sie zahlreiche Hinweise zu dem textbasierten Chatprogramm, außerdem gibt es dort Skripts und Themes.

Verbinden Sie sich mit mehr als einem Server (z.B. zusätzlich noch mit irc.fu-berlin.de), schalten Sie mit [Strg]+[X] zwischen den Servern hin und her – vorausgesetzt, Sie befinden sich noch immer im Statusfenster. Beim Betreten eines Raums wechseln Sie automatisch in ein anderes Fenster; in der Statuszeile sehen Sie, um welche Fensternummer es sich dabei handelt. Von links nach rechts beinhaltet die Statuszeile folgende Angaben:

[Uhrzeit][Eigener_Nick (+Userflags)][Fensternummer:#Raumname (+Channelflags)]

Zwischen den Fenstern wechseln Sie man mit der Tastenkombination [Alt]+[Fensternummer] (also: [Alt]+[1] für das Statusfenster) respektive mit [Alt]+[Pfeiltaste], um zum jeweils nächsten Fenster zu gelangen. Innerhalb des Fensters scrollen Sie mit [Bild-Auf] und [Bild-Ab].

Gute Verbindungen

Bevor Sie sich weiter mit den vielen Möglichkeiten der Fensteraufteilung befassen, sorgen Sie dafür, dass Ihr Rechner sich beim Programmstart automatisch beim IRC-Netzwerk anmeldet. Mit /ircnet sehen Sie bereits vorkonfigurierte IRC-Netzwerke – die großen und bekannten Netzwerke Efnet, Ircnet, Dalnet und Freenode kennt Irssi bereits. Wollen Sie ein neues IRC-Netzwerk hinzufügen, geben Sie /ircnet add Name ein. Server speichert Irssi nach der Syntax:

/server add -ircnet <I>Netzwerk Adresse Port<I>

Durch die Option -auto nimmt Irssi bereits beim Programmstart mit dem Server Verbindung auf. Als plastisches Beispiel soll nun die Konfiguration des Zugangs zu InsiderZ.de[2] dienen. Zuerst richten Sie mittels /ircnet add InsiderZ das Netzwerk an sich ein. Nun fügen Sie nun einen Server des InsiderZ-Netzwerkes hinzu:

/server add -ircnet InsiderZ matrix.insiderz.de 6667

Den richtigen Chat-Raum bringen Sie Irssi mit folgendem Befehl bei:

/channel add -auto <I>#Raum<I> <I>Netzwerk<I> <I>Passwort<I>

Auch hier öffnet Irssi über die Option -auto bereits beim Programmstart mit dem eingetragenen Kanal. Eine Befehlskomplettierung wie unter der Bash fällt als positiver Nebeneffekt der solchermaßen gespeicherten Verbindungsdaten ab. Haben Sie die Option -auto nicht genutzt und wollen sich mit Insiderz verbinden, um einen geeigneten Chat-Raum zu finden, brauchen Sie in Zukunft nur noch /conn[Tab] In[Tab] einzugeben. Irssi komplettiert dies zu /connect InsiderZ. Das funktioniert ebenso gut mit bereits eingetragenen Räumen – ein /save sichert Ihre Eingaben in der Datei ~/.irssi/config.

Die Optik

Schreiben Sie erst einmal in einem Chat-Raum, entdecken Sie schnell einige Dinge, die der Anpassung bedürfen. So heben sich beispielsweise die untere Statuszeile und die obere Topic-Zeile nicht vom eigentlichen Textfenster ab. Dies lässt sich schnell durch die Installation eines Themes ändern. Unter [3] gibt es eine Vielzahl unterschiedlichster Farbkompositionen für die Irssi-Konsole. Die heruntergeladene Datei name.theme verschieben Sie einfach nach ~/.irssi und laden das Theme mit dem Befehl /set theme name.theme. Irssi sollte nun – je nach gewähltem Theme – über farbig abgehobene Statuszeilen verfügen (Abbildung 2).

Abbildung 2: Über Themes verändern Sie das Aussehen von Irssi. Auf der Webseite finden Sie noch viele weitere Entwürfe zum Download.

Abbildung 2: Über Themes verändern Sie das Aussehen von Irssi. Auf der Webseite finden Sie noch viele weitere Entwürfe zum Download.

Bei vielen gleichzeitig geöffneten Chat-Räumen verliert man schnell den Überblick, welche Fensternummer zu welchem Chat-Raum gehört. Solche und viele andere Probleme lösen in Irssi Perlskripte, die es zuhauf im Internet gibt [4]. Über ein solches Skript binden Sie etwa den textbasierten MP3-Player Mp3blaster in Irssi ein, leiten URLs aus dem Chat an die entsprechenden Programme weiter, erweitern Irssi um einfache Taschenrechner-Funktionen und vieles mehr.

Die Statusleiste zeigt unter [Act:] die Fensternummern der Chat-Räume an, in denen sich etwas getan hat – das wird bei vielen Chat-Räumen schnell unübersichtlich: Wer merkt sich schon, welcher Kanal sich hinter Fenster 8 verbirgt. Um sich neben der Fensternummer auch den Raumnamen anzeigen zu lassen, speichert man das Skript chanact.pl[4] unter ~/.irssi/scripts und bindet es dann mit dem Befehl /script load chanact.pl ein. Wollen Sie das Skript nicht bei jedem Irssi-Start neu laden, sollten Sie es einfach nach ~/.irssi/scripts/autorun kopieren.

Von grafischen Chat-Oberflächen sind Ihnen vielleicht Reiter bekannt, durch die man mehrere Chat-Räume gleichzeitig im Auge behält. Irssis Fensteraufteilung folgt dieser Funktionalität im wesentlichen, doch das Programm geht noch einen Schritt weiter: Mit /window show Nummer legen Sie einfach das bezeichnete Fenster über das bereits aktive Fenster.

Die Optionen balance, grow und shrink zum Befehl /window beeinflussen die Fenstergröße. Die Option balance sorgt für eine gleichmäßige Bildschirmaufteilung, die anderen beiden Optionen vergrößern jeweils das aktive Fenster nach oben bzw. unten. Möchten Sie das Fenstersplitting beenden, bringt die Eingabe /window hide Nummer Sie wieder in die Normalansicht. Sie aktivieren auch in gesplitteter Ansicht die Fenster mit [Alt]+[Fensternummer], um im jeweiligen Chat-Raum zu schreiben.

Nick-Listen

Ein weiteres Feature, dass grafikverwöhnte Chatter vermissen könnten, ist die Leiste mit den Benutzernamen am rechten Fensterrand. Eine Liste der aktuellen Benutzer lässt sich zwar leicht über den IRC-Befehl /name abrufen, doch hält Irssi auch hier eine optische Lösung für Sie parat. Laden Sie das Perlskript nicklist.pl[5] in der aktuellen Version 0.4.6 herunter und installieren Sie es auf die bereits beschriebene Weise. Es ist ratsam, eine Kopie des Skripts in den Ordner ~/.irssi/scripts/autorun zu legen.

Um Irssi nun um die Nickliste am rechten Bildschirmrand zu ergänzen, ist der Konsolenfenster-Manager screen von Nöten – er sollte aber auf allen gängigen Distributionen vorinstalliert sein. Starten Sie Irssi mit dem Befehl screen irssi, laden Sie das Skript mit /script load nicklist.pl und aktivieren Sie es zu guter Letzt noch mit /nicklist screen (Abbildung 3).

Abbildung 3: Eine Nicklist gestaltet den Chat übersichtlicher. Sie laden dazu ein Perl-Skript aus dem Netz und aktivieren es.

Abbildung 3: Eine Nicklist gestaltet den Chat übersichtlicher. Sie laden dazu ein Perl-Skript aus dem Netz und aktivieren es.

Die Breite der Leiste lässt sich mit dem Befehl /set nicklist_width festlegen: Experimentieren Sie mit Zahlen zwischen 10 und 15, und passen Sie den Wert an Ihren Geschmack an. Ein /set nicklist_automode screen sorgt dafür, dass auch beim nächsten Start Irssi eine Nickliste für Sie bereit hält. Einziger Wermutstropfen ist, dass das Skript augenscheinlich nicht den Windows-Split-Modus beherrscht und Irssi rhythmisch flackert, wenn man den Client per remote benutzen möchte.

In manchen Chat-Räume tummeln sich mehr als 100 Benutzer gleichzeitig. Diese schreiben zwar nicht alle wild durcheinander, aber in die Nickliste passen sie dennoch nicht. Abhilfe verspricht hier das Kommando /nicklist scroll, das Sie an ein Tastaturkürzel binden können. Das funktioniert mit den Befehlen:

/bind Taste command nicklist scroll -3
/bind Taste command nicklist scroll +3

Alternativ öffnen Sie mit einem Texteditor Ihrer Wahl die Datei ~/.irssi/config und setzen an deren Ende die Zeilen:

keyboard = (
 { key = "meta2-P"; id = "command"; data = "nicklist scroll -3"; },
 { key = "meta2-Q"; id = "command"; data = "nicklist scroll +3"; }
 );

Das angeführte Beispiel bindet [F1]und [F2]. Wollen Sie andere Tasten belegen, verrät Ihnen eine Tabelle [6] die korrekten Bezeichnungen für die verschiedenen Funktionstasten.

Tipps & Tricks

Es gibt noch weitere Tricks und Kniffe, um Irssi besser an Ihre Bedürfnisse anzupassen. Eine fast vollständige Liste möglicher Einstellungen hält das deutschsprachige Wikibook zu Irssi bereit [7] (Abbildung 4). Auch ein Durchforsten der Irssi-Skripte [4] lohnt sich. Über sehr nützliche bis hin zu eher verspielten Skripten, werden sie dort zu allen nur erdenklichen Themen fündig.

Abbildung 4: Eine Übersicht der Befehle, die Irssi beherrscht, erhalten Sie, wenn Sie im Statusfenster /help eingeben – ansonsten gibt es zahlreiche Hilfeseiten im Internet.

Abbildung 4: Eine Übersicht der Befehle, die Irssi beherrscht, erhalten Sie, wenn Sie im Statusfenster /help eingeben – ansonsten gibt es zahlreiche Hilfeseiten im Internet.

Sehr hilfreich ist, dass Irssi in einem screen-Fenster läuft. Einmal unter X gestartet, bleibt es auch dann noch im Hintergrund, wenn das Terminalfenster versehentlich oder absichtlich (z.B. durch Beenden von KDE/Gnome) geschlossen wurde. Da sich die Bedienung von screen aber recht umständlich gestaltet, hilft die Zeile

alias irssi='if pgrep irssi;then screen -x irssi;else screen -S irssi irssi;fi'

weiter. Schreiben Sie den so geschaffenen Alias-Befehl am besten in die .bashrc in Ihrem Home-Verzeichnis. Er bewirkt, das Irssi in einem Screen-Fenster gestartet wird und kontrolliert bei erneutem Aufruf von Irssi, ob der Client nicht eventuell schon läuft. Sollte Irssi bereits aktiv sein, wird dadurch die aktuelle Sitzung einfach fortgeführt.

Sehr lange Befehle mit vielen Optionen und Parametern kürzen Sie unter Irssi ab. Man unterscheidet zwei Arten von Befehlen: Solche, die Sie häufig aber unregelmäßig benötigen und Befehle, die Irssi beim Betreten des Servers automatisch ausführt. Letztere lassen sich ohne Probleme mit der Option autosendcmd einrichten. Solch einen Befehl nutzt man beispielsweise, um den eigenen Nickname bei Nickserv (siehe Artikel S. 52) anzumelden. Fügen Sie diese Option mit dem Befehl

/ircnet add -autosendcmd "/^msg nickserv identify Passwort; wait -freenode 2000" freenode

ein. Der Befehl meldet Sie beim Service Nickserv des Netzwerkes Freenode an.

Anders verhält es sich mit unregelmäßig, aber häufig verwendeten Befehlen: So wird zum Beispiel das Wegschicken oder Zurückholen des ChanServ-Bots – des automatischen Kanalwächters – mit dem Befehl /msg chanserv set <§§i>#Raumname<§§i> guard off für eilige Gemüter zu einer ermüdenden Angelegenheit. Binden Sie solche Befehle über /alias an einen kürzeren Parameter, indem Sie

/alias BOTOFF "msg chanserv set #raumname guard off"

eingeben. Nun sollte ein einfaches /botoff genügen, um sich vom Channel-Wächter zu befreien.

Fazit

Der textbasierte Chatclient Irssi ist ein überaus mächtiges Werkzeug, das sich über Perl-Skripts fast unbegrenzt ausbauen lässt. Wer die Kommandozeile mag, wird sich schnell mit dem Programm anfreunden, gerade auch wegen der Unabhängigkeit vom X Window System.

Die zahlreichen Befehle und Einstellungen rufen beim Anwender leicht das Gefühl eines Overkills hervor – um so mehr, wenn man sich Skripte zur Steuerung des Filesharing-Clients oder des Newsreaders anschaut. Doch keine Panik: Den Funktionsumfang von Irssi steuern Sie letzten Endes selbst ganz nach Belieben. (kki/jlu)

Infos

[1] Irssi-Download: http://irssi.org/?page=download

[2] InsiderZ: http://www.insiderz.de

[3] Irssi-Themes: http://irssi.org/?page=themes

[4] Irssi-Skripte: http://irssi.org/scripts

[5] Nicklist-Skript: http://wouter.coekaerts.be/site/irssi/nicklist

[6] Tastenbelegung von Irssi: http://wouter.coekaerts.be/site/irssi/keybindings

[7] Wikibook zu Irssi: http://de.wikibooks.org/wiki/Irssi

LinuxUser 12/2005 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben