Patagonicus (Diskussion | Beiträge)
Nukleus (Diskussion | Beiträge)
content++
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
irssi ist ein [[IRC|IRC-Client]].
irssi ist ein Text-basierter [[IRC|IRC-Client]]. Er hat keine grafische Oberfläche und eignet sich somit hervorragend, um auf einem Shell-Server wie dem des [[Shell_Server|HaDiNets]] verwendet zu werden.


==Einrichtung==
== Kurzanleitung ==
Um irssi zur Benutzung mit dem [[HaDIRC]] einzurichten, müssen folgende Befehle ausgeführt werden:
Diese kurze Anleitung enthällt nur die wichtigsten Dinge zu irssi, für alles weitere findet sich das Hilfe auf den [http://www.irssi.org/documentation Seiten des Projekts].


<pre>
=== Schnelleinstieg ===
/set nick $nick
irssi selbst wird über Tastaturkürzel und Befehle, die in die Eingabezeile eingegeben werden, bedient. Im Rahmen dieses HowTos verbinden wir uns mit dem HaDiKo IRC-Netzwerk. Dabei muss <code>NICK</code> durch den eigenen, selbstgewählten Nicknamen ersetzt werden. irssi verwendet ein einfaches, textuelles Konfigurationsfile, welches in <code>~/.irssi/config</code> gespeichert wird. Dieses kann man problemlos von Hand editieren, doch ist es meist einfacher, die Befehle schnell in die Eingabezeile einzugeben. Für die ganzen Befehle steht die Hilfe durch Eingabe von <code>/help befehl</code> zur Verfügung.
/set alternate_nick $nick_
/set user_name $nick
/set real_name $nick
/set term_charset UTF-8
/set log_theme default
/set autolog on
/set autolog_path ~/.irssi/log/$tag/$0/$0_%y-%m-%d.log
/network add -nick $nick -user $nick -realname $nick HaDiKo
/server add -ssl -auto -network HaDiKo irc1.hadiko.de 6697
/server add -ssl -auto -network HaDiKo irc2.hadiko.de 6697
/channel add -auto #help HaDiKo
/channel add -auto #chat HaDiKo
/connect HaDiKo
</pre>


Ersetzt dabei $nick durch euren Nicknamen. Mit dem letzten Befehl verbindet ihr euch dann mit dem IRC-Server; ihr betretet automatisch die Channel #chat und #help.
Gestartet wird irssi, indem man auf einer Shell den Befehl <code>irssi</code> eingibt. Beim ersten Start laedt irssi eine minimale Konfiguration, die einige IRC-Netzwerke enthällt.
[[File:irssi_01.png|thumb|right|irssi nach dem ersten Start]]
Als Erstes gilt es, irssi mitzuteilen wer wir sind, und das in der Konfigurationsdatei abzulegen. Große Teile der Konfiguration können mit dem Befehl <code>'''/set''' ''variable wert''</code> verändert werden. Lässt man dabei den Wert weg, zeigt irssi den aktuell gültigen Wert an. Eine große Hilfe ist die Eigenschaft, dass irssi an fast jeder Stelle durch drücken der TAB-Taste die Befehle und Einstellungen vervollständigt indem es durch die möglichen Befehle rotiert. Die folgenden Befehle setzen unseren Nicknamen an allen Stellen, die irssi an den Server sendet (nicht vergessen <code>NICK</code> durch den eigenen Nicknamen zu ersetzen):
<pre>/set nick NICK
/set alternate_nick NICK_
/set real_name NICK
/set user_name NICK</pre>
[[File:irssi_02.png|thumb|right|Nickname gesetzt]]
irssi weiß nun, wer wir sind, wird das aber beim beenden vergessen. Um das zu verhindern, speichern wir die Konfiguration durch Eingabe des Befehls <code>/save</code>. Die Werte werden übrigends von nun an als Standard-Werte genommen, wenn man keine explizite Angabe macht.


Falls ihr einen NickServ-Account habt, so könnt ihr euch mit diesem Befehl automatisch anmelden lassen:
Als nächstes richten wir das '''HaDiKo IRC Netzwerk''' ein. irssi unterscheidet zwischen Netzwerk und Servern. Ein Netzwerk kann beliebig viele Server enthalten und irssi wird versuchen, auf einen davon zu verbinden. Sollte das fehlschlagen, probiert es der Reihe nach alle Server aus, die für das Netzwerk definiert sind. Das machen wir uns zunutze, denn das HaDiNet betreibt zwei Server für das HaDiKo IRC Netzwerk. Zuerst richten wir das Netzwerk selber ein:
/network add -nick NICK -user NICK -realname NICK HaDiKo
Dabei werden die Werte für <code>-nick</code>, <code>-user</code> und <code>-realname</code> nur benötigt, wenn man von den oben eingestellten Standardwerten abweichen möchte. irssi quittiert das Anlegen mit der Zeile "Irssi: Network HaDiKo saved". Nun geht es an die Server:
/server add -ssl -auto -network HaDiKo irc1.hadiko.de 6697
/server add -ssl -auto -network HaDiKo irc2.hadiko.de 6697
* '''-ssl''': Benutze SSL-Verschlüsselung zur Kommunikation mit dem Server.
* '''-auto''': Verbinde automatisch zu diesem Server, wenn irssi startet. Damit sparen wir uns, bei jedem Start von irssi manuell verbinden zu müssen. irssi verbindet sich auch immer nur mit einem Server pro Netzwerk.
* '''-network''': Damit teilt man irssi mit, dass der Server zu einem Netzwerk gehört.
Das ganze speichern wir wieder mit <code>/save</code>.
[[File:irssi_03.png|thumb|right|Netzwerk und Server angelegt]]


{{command|/network add -autosendcmd "/^msg NickServ identify $nick $passwort" HaDiKo}}
Als nächstes stellen wir die Verbindung mit dem IRC-Netzwerk her:
/connect HaDiKo
Nun rauscht eine ganze menge Text durchs Terminal und wir sind verbunden. [[File:irssi_04.png|thumb|right|Begrüßung durch den IRC-Server]]


==Benutzung==
Nun ist es an der Zeit, einen Channel zu betreten. Channel beginnen mit einem Hash-Symbol (<code>#</code>). Als Beispiel wählen wir den Channel ''#chat'', der für allgemeines Chatten verwendet wird: [[File:irssi_05.png|thumb|right|Nach dem Join]]
Jeder Chat wird in einem eigenen Fenster angezeigt. Über Esc, 1 wechselt ihr zum ersten (den Statusnachrichten vom Server), mit Esc, 2 zum zweiten und so weiter. Esc, 0 bringt euch zum zehnten Fenster, danach geht es mit q, w, … weiter. Achtung: Es wird ein englisches Tastarturlayout benutzt, ihr müsst also y statt z benutzen. Wollt ihr einem Channel beitreten, so führt <code>/join #channel</code> oder kurz <code>/j #channel</code> aus. Verlassen könnt ihr einen Channel mit <code>/part</code>. Eine private Nachricht könnt ihr mit <code>/query Nick Nachricht</code> oder <code>/q Nick Nachricht</code> schicken.
/join #chat
Die bisherige Ansicht ist verschwunden und irssi zeigt nun den Channel an. Beim Betreten eines Channels gibt irssi eine Übersicht über die anderen Benutzer im Channel. Die oberste Zeile enthällt die Topic des Channels, dann folgen einige Status-Informationen und die Liste der Benutzer. Die zweit-unterste Zeile zeigt die aktuelle Uhrzeit, unseren Nicknamen nebst "User-Modes". Die "2" gibt die Nummer des Fensters an, in dem wir uns befinden. Fenster können mit <code>Alt+Nummer</code> oder <code>/win Nummer</code> angesprungen werden. Nummer eins ist dabei immer das Status-Fenster. Sollte man mehr als zehn Fenster aufhaben, so geht es einfach in der Buchstabenreihe unter den Zahlen weiter. Man schreibt immer in dem aktiven Fenster, sofern man nicht <code>/msg</code> verwendet. Möchte man, dass irssi '''automatisch''' beim Starten die Channel joined, so kann man das in der Konfiguration ablegen:
/channel add -auto #chat HaDiKo


==Skripte==
Um mit einer einzelnen Person zu chatten kann man ein '''Query'''fenster öffnen. Das geschieht durch Eingabe von <code>/query nickname</code> wobei "nickname" der Name der anderen Person ist. Das Query kann mit <code>/query</code> (ohne Nickname) geschlossen werden.
Irssi lässt sich auch über Skripte erweitern. Sehr zu empfehlen sind nickcolor und trackbar. Während erstes Nicks einfärbt, damit man sie leichter unterscheiden kann, zeigt letzteres durch eine Linie an, bis wohin man schon gelesen hat. Geladen werden die Skripte durch:


== irssi im Detail ==
=== Fenster ===
Jeder Chat wird in einem eigenen Fenster angezeigt. Über Esc, 1, <code>Alt+1</code> oder <code>/win 1</code> wechselt ihr zum ersten (den Statusnachrichten vom Server), mit Esc, 2 zum zweiten und so weiter. Esc, 0 bringt euch zum zehnten Fenster, danach geht es mit q, w, … weiter. Achtung: Es wird ein englisches Tastarturlayout benutzt, ihr müsst also y statt z benutzen.
Fenster lassen sich mit dem Befehl <code>/window</code> (oder <code>/win</code> in der Kurzform) manipulieren. Mit <code>/window move left</code> '''verschiebt man das Fenster''' nach links, analog mit "right" nach rechts. Fenster '''schließen''': <code>/window close</code>.
Die '''Position''' wird mit <code>/layout save</code> gefolgt von <code>/save</code> gespeichert. Damit landen alle Channel nach dem Neustart wieder an ihrem Platz.
=== Channel und Queries ===
Wollt ihr einem Channel beitreten, so führt <code>/join #channel</code> oder kurz <code>/j #channel</code> aus. Verlassen könnt ihr einen Channel mit <code>/part</code>. Jeder Channel erhällt eine Fenster-Nummer. Mit <code>/channel add (-auto) #channel $network</code> kann den Channel in der Konfiguration ablegen, um (mit "-auto") automatisch zu joinen.
Eine '''private Nachricht''', ''PM'' oder ''Query'' genannt, könnt ihr mit <code>/msg Nick Nachricht</code> oder <code>/query Nick Nachricht</code> verschicken, wobei ein Query-Fenster geöffnet wird. <code>/query Nick</code> ohne Nachricht öffnet ein Queryfenster. Die Kurzform für <code>/query</code> ist <code>/q</code>, wobei der Befehl ohne Nick das aktuelle Queryfenster schließt.
=== Die Eingabezeile ===
Die Eingabezeile ist die Haupt-Bedienschnittstelle zu irssi. Sie ist enorm mächtig und unterstützt den Benutzer mit (rotierender) Tab-Completion. Alle '''Befehle''' beginnen mit einem Forward-Slash (<tt>/</tt>), alles was nicht mit einem Slash beginnt ist eine Nachricht und wird an das aktuelle Fenster gesendet. Manche Befehle haben '''Parameter''', die dann mit einem Minus (-) beginnen. Ein Beispiel sieht man in der Kurzanleitung am Befehl <code>/server</code>.
Die Eingabezeile '''vervollständigt''' dabei nicht nur Befehle, sondern (in einem Channel-Fenster) auch Nicknamen, Pfade im lokalen Dateisystem (sofern man den Slash nicht als erstes Zeichen in der Eingabezeile hat).
Der '''Command Buffer''', manchmal auch '''History''' genannt, kann mit den Cursor-Tasten Nach-Oben und Nach-Unten durchgescrollt werden, um schon geschriebene Zeilen nochmals aufzurufen ohne sie neu Eintippen zu müssen. Ein interessanter '''Trick''': Mehrere Zeilen schreiben und mit Cursor Nach-Unten in die History eintragen, dann mit Cursor Nach-Oben und Enter die Zeilen eine nach der anderen wieder herausholen und in kurzer Zeit eine größere Menge Text in den Channel posten.
irssi vervollständigt übrigends auch das lokale Filesystem, wenn man (außer am Zeilenanfang) einen Slash eingibt und mit Tab completed.
=== Skripte ===
irssi kann mit Perl-Scripten erweitert werden. Diese werden im Verzeichnis <code>~/.irssi/scripts</code> gesucht. Verwaltet werden sie mit <code>/script</code>, so '''lädt''' <code>/script load scriptname.pl</code> ein Script, <code>/script unload scriptname.pl</code> '''entlädt''' es. Scripte können beispielsweise von der Projektseite heruntergeladen werden.
Sehr zu empfehlen sind '''nickcolor''' und '''trackbar'''. Während erstes Nicks einfärbt, damit man sie leichter unterscheiden kann, zeigt letzteres durch eine Linie an, bis wohin man schon gelesen hat. Geladen werden die Skripte durch:
{{command|/script load trackbar.pl<br />/script load nickcolor.pl}}
{{command|/script load trackbar.pl<br />/script load nickcolor.pl}}
=== Rechtschreibkorrektur / Vervollständigung ===
Der Befehl <code>/completion</code> bedient die Autocomplete-Funktion in irssi. Ein Anwendungsfall ist die Korrektur von Tippfehlern. Tippt man beispielsweise häufig ''jsut'' anstelle von ''just'' kann man mit <code>/completion -auto jsut just</code> dafür sorgen, dass irssi wärend dem Tippen den Fehler korrigiert.
== Verfeinerung ==
irssi ist sehr Anpassungsfähig. Im Folgenden sind einige Befehle aufgeführt, die für den ein oder anderen Sinnvoll sein könnten:
{| class="prettytable"
|-
! Befehl !! Erklärung
|-
| <code>/set term_charset UTF-8</code> || irssi geht damit davon aus, dass das Terminal UTF-8 Unicode unterstützt. Verwenden wenn Probleme mit Sonderzeichen auftreten.
|-
| <code>/set log_theme default</code><br /><code>/set autolog on</code> || Schaltet das Loggen von Channeln und Queries an
|-
| <code>/set autolog_path ~/.irssi/log/$tag/$0/$0_%y-%m-%d.log</code> || Ändert den Pfad der Logfiles. Pro Netzwerk ($tag), Raum- oder (bei Queries) Nickname ($0) wird eine Datei pro Tag nach dem Schema <code>name_jahr-monat-tag.log</code> angelegt.
|-
| <code>network add -autosendcmd "/^msg NickServ identify $nick $passwort" HaDiKo</code> || Sendet beim Connecten ein Passwort an NickServ, falls ein Account existiert.
|-
| <code>/ /befehl</code> || Verwenden, wenn man mit einem einzelnen Slash die Zeile beginnen will
|}
[[Kategorie:Anleitung]][[Kategorie:HaDiNet]]