Inhalt
Vorwort
Irssi ist als IRC-Client sehr populär, aber viele neue User haben sich bisher nicht an
ihn rangetraut. Dieser Text soll den Einstieg in Irssi erleichtern und einen mehr oder minder
kleinen Überblick verschaffen was so alles möglich ist.
Nachdem das Newbie-Net mehr oder minder offline gegangen ist, habe ich die Anleitung auf
den Nachfolge IRC-Channel umgestellt. Ein Update der kompletten Anleitung (welche auf Irssi 0.8.4
und pkgsrc irgendwann vor 2006Q1 basiert) steht noch aus.
Die Installation sollte man bevorzugt mit den distributionseigenen Werkzeugen erledigen.
Sie alle aufzuzählen würde den Rahmen sprengen, üblicherweise benutzt man ein Werkzeug wie
YaST, apt-get, urpmi oder rpm. Die Distributoren haben alle recht aktuelle Versionen auf
den Installations-CDs, wer trotzdem gerne aus der Source kompiliert sollte einen Blick auf
die Irssi-Homepage [1] werfen.
NetBSD Tipps
Will man sich Irssi aus pkgsrc installieren, sollte man vorher in
/etc/mk.conf folgende Einträge vornehmen:
IRSSI_USE_PERL=YES
IRSSI_USE_SSL?=YES
Wenn IRSSI_USE_PERL=YES nicht vorhanden ist, kann man mit Irssi keine
Perl-Scripts benutzen. IRSSI_USE_SSL?=YES ist zwar nicht ganz so wichtig, aber
auf jeden Fall ganz praktisch wenn man SSL Support benötigt.
Vorweg eines der besten Features, die TAB-Completion! Man schreibt /wi, drückt
TAB und bekommt /window. Genauso bekommt man mit
/he TAB wi TAB sehr schnell den Hilfstext zu dem Kommando /window
(/help window) angezeigt. Man tippt die ersten Buchstaben und drückt
TAB. Dabei ist es egal ob vorher noch ein Zeichen kommt wie z.B. eine runde oder
eckige Klammer. So wird z.B. aus myn TAB ein [MyNick].
Das Beste daran ist, das geht nicht nur mit Irssi Befehlen. TAB-Completion funktioniert
mit allen IRC Kommandos, mit Nicks und sogar mit der Shell. Wenn man z.B. einen Pfad posten
will /ho TAB und man bekommt /home :)
Kommen wir zu den Basics. Wie verbinde ich mich zu einem IRC-Server? Wie stelle ich meinen
Nick ein?
Nachdem Irssi gestartet wurde, können wir uns mit /server list ansehen
welche Server schon voreingestellt sind. (Sollte die Liste länger sein als das aktuelle Fenster
und die Hälfte verschwindet nach oben, ist das auch kein Problem. Mit den Tasten
Bild hoch bzw. Bild runter kann man bequem hoch und runter
scrollen.) Ist der Server mit dem wir uns verbinden wollen nicht in der Liste, haben wir zwei
Möglichkeiten. Entweder verbinden wir uns einfach so on the fly oder wir tragen den Server fest
in die Liste ein. Um sich einfach so zu verbinden, benutzen wir das folgende Kommando:
/connect ServerName PortNummer
Wenn man den Server fest in die Liste einträgt, hat das den Vorteil, dass man zum Verbinden
nur noch /connect NetName eingegeben werden muß, wobei NetName
auch mit TAB vervollständigt werden kann. Bevor wir jedoch einen neuen Server mit dem Befehl
/server anlegen können, müssen wir mit /ircnet add NetName
ein Netzwerk einrichten zu dem der Server gehören soll. Wenn Irssi den Befehl /ircnet
nicht kennt, dann benutzt ihr wahrscheinlich Irssi 0.8.10 oder neuer. Welche Version
genau, zeigt euch /version an.
In Version 0.8.10 wurde ircnet durch network ersetzt. Wenn ihr
davon betroffen seit, müßt ihr im Folgenden einfach jedes ircnet durch
network ersetzen und alles wird gut :)
In den folgenden Beispielen werde ich eine Verbindung zum IRC-Server der uniXgroup
einrichten. Als NetName benutze ich hierbei den Namen uniXgroup.
/ircnet add uniXgroup
Der NetName taucht dann in der Serverliste in der dritten Spalte auf. Die
Serverliste kann man sich mit dem Befehl /server list anzeigen lassen.
Mit dem folgenden Kommando fügen wir dann zu dem Netz uniXgroup den Server
irc.freenode.org hinzu. Als Port geben wir den Standard IRC-Port
6667 an.
/server add -ircnet uniXgroup irc.freenode.org 6667
Wenn sich Irssi automatisch nach dem Start zu dem Server verbinden soll, fügt man einfach
noch die Option -auto ein:
/server add -ircnet uniXgroup -auto irc.freenode.org 6667
Nachdem wir uns jetzt mit /connect uniXgroup zum Freenode IRC-Netzwerk
verbunden haben, können wir weitere Einstellungen vornehmen, z.B. unseren Nickname einstellen.
Man kann pro IRC-Net einen Nickname fest voreinstellen. Das funktioniert ebenfalls mit
/ircnet. /ircnet ohne Argumente, zeigt alle Server inklusive Optionen
an, die in der Konfigurationsdatei (~/.irssi/config) angegeben sind. Der erste
Eintrag ist der Name des Netzes. Um für das Netz uniXgroup den Nick MyNick
einzustellen, benutzen wir /ircnet add und übergeben noch die Argumente
für den Nickname und das Netz:
/ircnet add -nick MyNick uniXgroup
Jetzt wollen wir auch endlich in den IRC-Channel #unixgroup.de. Das könnten
wir natürlich immer mit /join #unixgroup.de erledigen, aber es wäre eigentlich
viel angenehmer wenn das automatisch geschieht, sobald wir uns mit dem IRC-Server verbinden.
Kein Problem, wir legen einfach einen neuen Channel mit Auto-Join Option an:
/channel add -auto #unixgroup.de uniXgroup
Also einfach /channel add -auto den Channelnamen (#unixgroup.de)
und den Netzwerknamen (uniXgroup).
Bevor wir uns jetzt weiter mit Irssi befassen, sollten die bisherigen Einstellungen erstmal
gespeichert und die Konfigurationsdatei gesichert werden. Gespeichert wird mit dem Befehl
/save. Im Statusfenster erscheint dann eine Ausgabe, was alles wo gespeichert
wurde. Normalerweise ist das die Konfigurationsdatei von Irssi (~/.irssi/config)
und das verwendete Theme (~/.irssi/default.theme). Die Konfigurationsdatei
sollte im Anschluß daran noch gegen unbefugten Zugriff gesichert werden, da hier unter anderem
auch Passwörter für IRC-Services im Klartext abgelegt werden. Für einen ausreichenden Schutz,
setzt man einfach die Dateirechte so, daß nur der eigene Benutzer lesen und schreiben darf:
user@host:~> chmod 600 ~/.irssi/config
Normalerweise sieht man in einem Fenster genau einen IRC-Channel. Die Fenster sind
durchnummeriert und beginnen bei 1. Im ersten Fenster findet man die Server Messages und
die Ausgaben von Irssi (z.B. von /help). In den anderen die einzelnen Channel.
Zwischen den einzelnen Fenstern wechselt man entweder mit ESC+Zahl oder mit
ALT+Zahl. Jetzt stellt sich allerdings die Frage "Was mach ich wenn mehr als
10 Fenster da sind? Ich hab ja nur die Zahlen 0 - 9..". Die Antwort darauf ist ganz einfach
"Man macht einfach in der nächsten Zeile weiter", also ESC+q = Fenster 11,
ESC+w = 12 und so weiter bis zu ESC+p. Alternativ kann man auch einfach
durch die Channel zappen. Die Vi Fans können wie gewohnt Strg+n (aufsteigend)
bzw. Strg+p (absteigend) benutzen. Für alle anderen ist die Kombination mit
den Pfeiltasten (Strg+Pfeil-rechts bzw. Strg+Pfeil-links)
wahrscheinlich einfacher zu merken.
So, zurück zu den Fenstern bzw. den Channels. Die einzelnen Fenster kann man mit dem Befehl
/window kontrollieren. /window close schließt zum Beispiel
das aktuelle Fenster. Will man in einem Fenster mehr als einen Channel sehen, z.B. in dem
aktuellen Fenster [2] die Server Messages [1], sagt man einfach
/window show 1. Das Fenster in dem man schreiben will, wählt man wie
gewohnt mit ESC+Zahl. In welchen Channel man gerade schreibt, sieht man am Anfang
der Zeile, z.B. steht dort [(status)] für das Statusfenster. Stört die geteilte
Ansicht, läßt man das Fenster einfach wieder mit /window hide 1
verschwinden. Es kann passieren das man dabei von Irssi folgende Meldung präsentiert bekommt:
Irssi: You can't hide sticky windows (use /WINDOW STICK OFF)
Dumme Sache, aber wir bekommen ja die Lösung gleich präsentiert :-). Nach einem
/WINDOW STICK OFF kann man das Fenster dann verschwinden lassen. Kommt die
Meldung immer noch, dann muß man /WINDOW STICK OFF auch in dem anderen
Fenster das angezeigt wird setzen.
Ich habe bei mir auto_stick für geteilte Fenster per Default auf OFF gestellt,
dadurch bekommt man die oben genannten Probleme nicht. Dazu überprüft man zuerst mit
/set stick die Default-Werte:
=> [lookandfeel]
=> autostick_split_windows = ON
Der Default-Wert steht auf ON, um das zu ändern geben wir
/set autostick_split_windows OFF ein und überprüfen die neue Einstellung
nochmal:
/set stick
=> [lookandfeel]
=> autostick_split_windows = OFF
Schon besser :).
Die Einstellungen werden hierbei automatisch in der Konfigurationsdatei in ~/.irssi/config
gespeichert.
Die Größe der einzelnen Fenster kann man mit /WINDOW SHRINK Zahl,
/WINDOW GROW Zahl oder /WINDOW BALANCE beeinflussen. Die
Befehle sind selbsterklärend, wobei Zahl die Anzahl der Zeilen angibt, um die
das Fenster größer oder kleiner werden soll.
Wer kennt das nicht, irgendwelche unerwünschten Leute reden zu viel oder der Inhalt des
Channels besteht nur aus Nick Changes.... Dagegen hilft /ignore. Mit
/ignore kann man nämlich nicht einfach nur User ignorieren, sondern auch verschiedenste
Messages.
Gibt man einfach nur /ignore ein, bekommt man eine durchnummerierte Liste die
anzeigt was man alles Ignoriert. Will man ein /ignore aufheben, gibt man
/unignore Zahl ein, wobei sich die Zahl auf die Nummern der /ignore
Liste bezieht.
Kommen wir zum Ignorieren selbst. Wir wollen z.b. im Channel #irssihelp
Messages wie die folgende ignorieren:
==> Nickchange: TollerNick is now known as NICK_AFK
Das Kommando dazu wäre /ignore #irssihelp NICKS.
Will man join/quit-Messages ignorieren setzt man für NICKS einfach
JOINS oder QUITS ein.
Hier ein Überblick was man statt NICKS, JOINS oder QUITS
noch einsetzen kann:
CRAP, CTCPS, JOINS, PARTS, QUITS, KICKS, TOPICS, PUBLIC
SNOTES, NOTICES, MODES, DCC, NICKS, ACTIONS, WALLOPS, MSGS
INVITES, DCCMSGS, CLIENTNOTICE, CLIENTCRAP, CLIENTERROR
Weitere Hilfe bekommt man mit /help ignore bzw. auf der Irssi Website.
Das Irssi Wiki sollte man auch nicht außer Acht lassen!
Zum Schluß noch ein weiteres Beispiel. Wollen wir z.B. in den Channels Game
und Talk nervige Messages ausblenden, welche die Wörter away,
back oder playin enthalten, so hilft uns dieser Befehl weiter:
/ignore -channels #Game,#Talk -regexp -pattern (away|back|playin) * ACTIONS
Selbstverständlich kann man noch weitere Channel bzw. Wörter hinzufügen.
Viel-Tipper und vor allem die Viel-Vertipper werden das /completion Feature
mögen ;). Mit /completion kann man sich eigene Shortcuts anlegen, die mit
TAB vervollständigt werden können. Die Shortcuts werden nach dem Muster
/completion -auto [key] [value] angelegt. Wenn /completion
ohne Optionen auf geruften wird, werden die eingestellten Completions angezeigt. Wer gerne
"Das glaub ich nicht Tim ;)" tippt, wäre für den Shortcut "nichtim" recht dankbar:
/completion nichtim Das glaub ich nicht Tim ;)
/completion
Key Value Auto
nichtim Das glaub ich nicht Tim ;) no
Ab jetzt können wir einfach nichtim TAB tippen und erhalten
Das glaub ich nicht Tim ;). Wenn man sich das dann wieder
abgewöhnt hat, kann man den Shortcut mit /completion -delete [Key]
einfach wieder löschen. In unserem Fall wäre das /completion -delete nichtim
.
Für die Viel-Vertipper ist die Option -auto viel interessanter. Z.B. kann
man so die gebräuchlichen Smile-Vertipper umgehen:
/completion -auto :9 :)
/completion -auto ,) ;)
/completion -auto :d :D
/completion -auto ,9 ;)
Dadurch werden diese vier Smiles :9 ,) :d ,9 schon
während des Tippens automatisch durch diese :) ;) :D ;)
ersetzt. Das geht natürlich auch mit jedem anderen Text. Mir passierte es z.B. früher öfters,
dass ich statt die ein dei geschrieben habe. Aber das ist Vergangenheit,
dank:
/completion -auto dei die
Manchmal ist es ganz praktisch, wenn man nach gucken kann, was geschrieben wurde, gerade
wenn man sich im IRC Hilfe gesucht hat. Dafür ist das /log-Kommando hilfreich.
Will man die letzten paar Zeilen sichern und hat das Logging nicht an, hilft /lastlog
.
/LASTLOG -file /tmp/FileName 10
Mit diesem Kommando speichert man die letzten 10 Zeilen unter /tmp in das
File mit dem Namen FileName. Falls man keinen Pfad für das Logfile angegeben
hat, findet man dies in dem Verzeichnis aus dem Irssi gestartet wurde.
Zurück zu /log. Wenn wir z.B. im Channel #help immer alles
loggen wollen, sieht der Befehl dazu so aus:
/LOG OPEN -autoopen -targets #help ~/.irssi/logs/help_log-%d-%b-%Y
Hierbei wird das Logfile am Anfang der IRC-Session automatisch geöffnet und in .irssi/logs
gespeichert (das Verzeichnis ~/.irssi/logs/ muß vorher erstellt werden!).
Außerdem wird für jeden Tag ein eigenes Logfile mit Datum angelegt (z.b. help_log-04-Dec-2004).
Will man dagegen alle Messages von oder an den User YourNick loggen, sieht der
Befehl so aus:
/LOG OPEN -targets YourNick ~/.irssi/logs/yournick.log MSGS
Mit /SET log_create_mode [mode] kann man einstellen welche Rechte
für die Logfiles gesetzt werden sollen. Den Defaultwert kann man sich mit
/set log_create anzeigen lassen, bei mir steht er auf 600.
Natürlich kann Irssi auch mit Aliasen umgehen. Eine ganze Reihe davon sind schon vordefiniert,
z.B. kann man statt /window close einfach den Alias /wc verwenden
um ein Fenster zu schließen. Die Aliase werden mit dem Befehl /alias verwaltet,
/help alias zeigt alle Möglichkeiten dieses Befehls an. /alias
alleine zeigt alle vorhanden Aliase an. Einen neuer Alias wird mit /alias Aliasname
Befehl erstellt, wobei mehrere Befehle durch Semikola getrennt hintereinander
geschrieben werden können. Desweiteren werden noch die Variablen $0 - $9
Unterstützt.
Soweit die Theorie :-). Als Beispiel erstellen wir einen Alias für das beliebte slap
.
/alias slap /me slaps $0 with a huge $1
Schreibt man nun /slap Yournick fish, dann entsteht daraus
Mynick slaps Yournick with a huge fish, wobei
$0 = Yournick ist und $1 = fish. Will man den Alias
ändern, setzt man ihn einfach neu, wodurch der alte Alias überschrieben wird. Um den Alias
komplett zu löschen wird einfach ein Minus benutzt /alias -slap.
Irssi kann natürlich auch Themes benutzen. Diese kann man sich einfach von der Irssi Website
[1] downloaden. Man sollte dies am besten nicht mit Windows machen, das es
sonst zu Formatierungs Problemen kommen kann!
Die Themes müssen im Home-Verzeichnis in ~/.irssi/ abgelegt werden. Danach
kann man sie einfach in Irssi mit /set theme theme_name laden. Am
besten nutzt man wget für den Download. Hier ein Beispiel mit dem Theme sfcblue:
user@host:~> cd ~/.irssi
user@host:~> wget http://irssi.org/themes/sfcblue.theme
Danach in Irssi:
/set theme sfcblue.theme
Will man sich selbst ein Theme erstellen, ändert man einfach das Aussehen der laufenden
Session und speichert dies mit /save.
Zum Schluß noch ein paar Tipps und Anpassungen die ich recht nützlich finde.
Mit Irssi kann man sich problemlos mit mehreren IRC-Servern gleichzeitig verbinden. Wenn
man wissen will welche Channel es gibt, benutzt man den Befehl /list. Bei Freenode
sieht das so aus:
Irssi: Doing this is not a good idea. Add -YES option to command if you really mean it
Und die wissen wovon sie reden.. Ich hab das auf Freenode noch nicht ausprobiert, aber
im Quakenet z.B. bekommt man anschließend ca. 30 - 45 Minuten! eine Auflistung der Channel,
wodurch das Statusfenster für 30 - 45 Minuten blockiert ist. Um sicher zu gehen, dass ein
/list an den richtigen Server gesendet wird, sollte man vorher mit Strg+x
den Server auswählen.
Irssi: Changed to quakenetde server de.quakenet.org
Irssi: Changed to Freenode server irc.freenode.org
Irssi: Changed to quakenetde server de.quakenet.org
Hier habe ich dreimal Strg+x gedrückt. Da ich im Moment nur mit zwei Servern
verbunden bin, wiederholt sich die Ausgabe nach dem zweiten Strg+x. Der aktuell
eingestellte Server ist jetzt das Quakenet.
Manchmal muß es eben Putty sein. Sei es, weil man auf der Workstation Windows nutzt und
Irssi auf dem Server läuft oder weil man nunmal an einem Computer sitzt, der einem keine
andere Wahl läßt. Putty bringt ein paar Eigenheiten mit, von denen ich hier einmal zwei
beleuchten will. Zum Einen die Druck-Taste, da ich ihr Verhalten recht praktisch
finde. Zum Anderen die Pause-Taste, da man sie relativ leicht trifft, obwohl man
eigentlich Bild-hoch drücken wollte ;)
Das Verhalten der Druck-Taste is recht einfach beschrieben: Sie löscht den
Cut&Paste Puffer. Damit kann man das (manchmal recht nervige) Pasten mit der rechten Maustaste
verhindern. Kurz auf Druck gedrückt und man braucht keine Angst mehr haben, das
man versehendlich irgendwelche IRC-Channel vollmüllt. (Zusätzlich kann man natürlich auch
den paste_verify_line_count herunter setzen. Siehe /set paste_verify_line_count
)
Die Pause-Taste verhält sich in Putty so, wie wenn man auf einer Console
strg+z drückt: das gerade laufende Programm wird angehalten.
[1]+ Stopped irssi
user@host:~>
Hat man absichtlich auf Pause getippt, kann man Irssi jetzt mit bg
in den Hintergrund schicken und weiter Arbeiten. Sollte dem nicht so sein, tippt man fg
um Irssi wieder in den Vordergrund zu holen. Der Chat läuft natürlich in der Zwischenzeit
weiter.
Irssi kann auch nach einem Connect automatisch einen Befehl ausführen, z.B. um sich zu
authentifizieren. Um dies einzustellen, nutzen wir wieder den Befehl /ircnet add
, allerdings mit anderen Argumenten:
/ircnet add -autosendcmd yourcmd NetName
Für yourcmd kann man dann einen beliebigen Befehl einsetzen (es ist besser
diesen zwischen " " zu setzen.). Um sich z.B. im Quakenet zu authentifizieren
würde der Befehl so aussehen:
/ircnet add -autosendcmd "/MSG Q@CServe.quakenet.org AUTH Nick Passwort" Quakenet
Will man mehrere Befehle ausführen, schreibt man diese einfach hintereinander und setzt
ein ; als Trennzeichen dazwischen:
/ircnet add -autosendcmd "/MSG nickserv identify Passwort ; /wait 10000; /join #unixgroup.de;"
In diesem Beispiel führen wir vier Befehle aus. Nick identify, Channel join, 10 Sek. warten
und dann Deop über Chanserv. Wait ist hierbei eingebaut, da wir uns den Op-Status erst nehmen
lassen können, nachdem wir richtig in dem Channel *angekommen* sind. Das sieht man an einer
Augabe wie Irssi: Join to #unixgroup.de was synced in 8 secs. Danach können wir uns
mit Hilfe von Chanserv dem Op-Status entledigen.
Wer Messages an andere Leute (/msg YourNick) gerne im aktuellen Fenster
sieht und nicht immer in einem neuen Fenster, der kann das hiermit abstellen:
/set autocreate_own_query off
Die Zeit lasse ich mir gerne in dem Format HH:MM:SS anzeigen, dies stellt man mit
timestamp_format ein:
/set timestamp_format %H:%M:%S
Für Logfiles kann außerdem ein seperates Zeitformat eingestellt werden, siehe
/set log_timestamp.
Im deutschsprachigen IRC werden Zeichen traditionell mit iso-8859-1 oder iso-8859-15 kodiert.
Wenn man nun ein Betriebssystem benutzt, das mit utf-8 kodiert, so werden die Umlaute falsch
kodiert und sind deshalb für die anderen User nicht lesbar. Seit der Version 0.8.10 gibt es
deshalb die Funktion recode. Zunächst setzt man die Kodierung des Betriebssystems, auf dem
Irssi läuft:
/set term_charset utf-8
Dann setzt man die Wunschkodierung:
/set recode_out_default_charset iso-8859-15
Man schaltet die Umkodierung ein:
/set recode_transliterate on
Und speichert die neuen Settings:
/save
So, zum Schluß erstellen wir noch eine individuelle Quit-Message:
/set quit_message "tschuess freunde ..."
Wer immer noch nicht genug hat findet nach der Eingabe von /set eine Menge
Optionen, die verändert und an die persönlichen Vorstellungen angepasst werden können.
Zusätzlich besitzt Irssi eine umfangreiche Hilfe. /help zeigt alle integrierten
Befehle. /help Befehl zeigt den Hilfstext zu dem jeweiligen Befehl an.
Weitere Informationen zu Irssi findet man auf der Homepage [1].
Wer Fehler findet darf sie behalten ;).... oder mir ne Mail schreiben. Die Adresse findet man
im Menu unter powered by.
Quellen
|