IRSSI

IRC Client voor de commando-regel

Omdat we vorige week ons IRC kanaal hebben voorgesteld ga ik het deze week hebben over een IRC Client voor de terminal. Ik heb gekozen voor irssi een programma dat al bestaat sinds 1999 en zijn nut dus zeker heeft bewezen.

Figuur: IRSSI

irssi is niet standaard geïnstalleerd en moet dus eerst handmatig geïnstalleerd worden. Bij Debian en op Debian gebaseerde distributies doe je dat met “sudo apt install irssi”. Voor andere distributies gebruik je de pakketbeheerder van deze distro's.

irssi komt met enkele servers voorgeïnstalleerd dus we gaan eerst kijken of onze OFTC server er al tussen staat, dit doen we met /NETWORK LIST.

Figuur: /NETWORK LIST

We hebben geluk, OFTC is al geconfigureerd en hier moeten we dus niks meer aan doen.

Verbinding maken met OFTC en daarna ons kanaal binnengaan, doe je met de volgende 2 commando’s:

/CONNECT oftc

Figuur: /CONNECT oftc

irssi gebruik standaard mijn gebruikersnaam (pkox) als “nickname” (bijnaam) en aangezien deze geregistreerd staat bij NickServ moet ik mezelf identificeren, doe ik dit niet binnen een bepaalde tijd dan kan/wordt mijn nickname afgenomen en krijg ik een andere (bijv. Guest77). Ik identificeer me dus eerst met het commando /msg NickServ IDENTIFY [wachtwoord] Later gaan we zien hoe we de nickname kunnen veranderen zodat IRSSI bij het opstarten een andere nickname kiest dan de gebruikersnaam van de huidige gebruiker.

Nu kan ik het kanaal binnen gaan met het volgende commando:

/JOIN #linuxgebruikers

Figuur: /JOIN #linuxgebruikers

Ik ben nu in het kanaal van de BE/NL Linux Gebruikersgroep.

Wat zien we op het scherm:
  • Een bericht dat ik het kanaal ben binnengekomen (has joined #benl-linuxusers)
  • Het onderwerp (Topic) van het kanaal.
  • Wie het onderwerp heeft ingesteld (ChanServ)
  • Een lijst met gebruikers in het kanaal (vermeld onder de regel Users #benl-linuxusers)
  • Een melding van irssi over het aantal gebruikers, en speciale privileges (OPS bijv. dat zijn de Kanaal beheerders)
  • Een melding over hoelang het synchroniseren met de server heeft geduurd (ook bekend als “lag”. Een hoge lag zorgt ervoor dat er tijdsverschil zit tussen het moment waarop jij op de Enter/Return knop drukt en het moment waarop het bericht op het scherm van de andere gebruikers wordt weergegeven)
  • Tenslotte een melding dat ik van ChanServ de +o modus heb gekregen (Ik ben OP binnen dit kanaal en ChanServ zorgt ervoor dat ik deze privileges automatisch krijg).

Nu kunnen we beginnen met chatten:

Figuur: Aan het chatten

Als we willen stoppen kunnen we het /PART commando gebruiken, part werkt als volgt: /PART [kanaal] [Reden].

Figuur: /PART #linuxgebruikers Druk, Druk, Druk :p

Als voorbeeld heb ik het gedaan op een andere computers. Hier kun je de melding zien dat “Cloudy_Wizzard” het kanaal heeft verlaten met als reden: Druk, Druk, Druk :p

Op de andere computer (Debian met Hexchat) ziet het er als volgt uit:

Figuur: HexChat

En na /PART gebruik te hebben komen we in het NickServ “venster” van de OFTC server.

Figuur: NickServ

Om tussen de verschillende “schermen” te bladeren (server, NickServ, ChanServ, Channel, etc.) gebruiken we ALT + Pijltjestoetsen

Opmerking:
  • als je irssi gebruikt op een systeem zonder X (of wanneer je tty1 t.e.m. 8 gebruikt) en een AZERTY toetsenbord is het mogelijk dat je met SHIFT + ALT + n (1, 2, 3, 4, etc.) moet schakelen tussen de verschillende vensters. ALT + Pijltoetsen zal schakelen russen verschillende virtuele terminals (tty1, tty2, etc.)
Om een voorbeeld te geven:
  • shift+alt+1 : Server
  • shift+alt+2 : NickServ
  • shift+alt+3 : #benl-linuxusers kanaal
Dit is de basis om mee te beginnen, maar ik wil toch eerst enkele basiscommando’s i.v.m. NickServ meegeven:
  • /nick [gebruikersnaam] Stel een andere gebruikersnaam in (één die niet al in gebruik is door een ander).
  • /msg NickServ REGISTER [wachtwoord] [e-mail] Registreer jouw nieuwe Nickname (bijnaam). Vervolgens moet je op de website van OFTC het nieuwe nick verifiëren.
  • /msg NickServ IDENTIFY [wachtwoord] Dit moet je gebruiken na inloggen op de IRC server (liefst zo snel mogelijk) on je te identificeren, anders wordt jouw nick. afgenomen.
  • /msg NickServ IDENTIFY [wachtwoord] [Nickname] Als je te laat was met de identificatie moet je het op deze manier doen.
  • /msg NickServ GHOST [nickname] [wachtwoord] Wanneer je een netwerk probleem hebt gehad (kortstondig) kan het zijn dat de IRC server denkt dat je nog steeds verbonden bent, en zal je niet toestaan om opnieuw jouw standaard nickname te gebruiken. Dit noemt men een Ghost en met dit commando kun je de ghost sessie eindigen en zo opnieuw jouw nickname te gebruiken.
  • /msg NickServ RECOVER [nickname] [wachtwoord] dit gebruik je als iemand anders jouw nickname gebruikt.
  • /msg NickServ set enforce on Als je enforce aanzet zal een gebruiker die jouw nickname (na een wachttijd van 60sec. om te identificeren) probeert te gebruiken,deze nickname afnemen en vast zetten. Zo’n nickname kan dan niet gebruikt worden.
  • /msg NickServ RELEASE [nickname] [wachtwoord] Als je Enforce gebruikt en de nickname geblokkeert is gebruik je dit commando om de nick terug te kunnen gebruiken.

Om het ons wat gemakkelijker te maken gaan we irssi instellen op bij het opstarten automatisch te verbinden met de OFTC server en om daarna het #belinuxgebruikers kanaal binen te gaan.

Eerst gaan we de server instellen met het commando : /SERVER ADD -auto -network OFTC irc.oftc.net 6697

Figuur: /SERVER ADD -auto -network OFTC irc.oftc.net 6697

irssi zal nu een melding geven dat de server is toegevoegd.

Figuur: irssi: server is toegevoegd

Het volgende commando zorgt ervoor dat we automatisch het kanaal binnen gaan: /CHANNEL ADD -auto #linuxgebruikers OFTC

Figuur: /CHANNEL ADD -auto #linuxgebruikers OFTC

Ziezo het kanaal is ook toegevoegd.

Figuur: irssi : Kanaal is toegevoegd.

De volgende keer dat we irssi opstarten hoeven we ons daar al geen zorgen meer over te maken.

Nu gaan we de standaard bijnaam instellen, irssi gebruikt hiervoor de gebruikersnaam van de persoon die is ingelogd. als we het bestand ~/.irssi/config bekijken zien we onderaan de instelling voor de bijnaam (nickname) staan:

Figuur: $ vi ~/.irssi/config

Pas dit bestand aan met jouw favoriete editor (bijv. vi): vi ~/.irssi/config

Figuur: $ vi ~/.irssi/config

Als laatste gaan we ervoor zorgen dat onze nickname automatisch geïdentificeerd wordt bij NickServ. start irssi en gebruik het commando : /NETWORK ADD -autosendcmd “/msg NickServ IDENTIFY wachtwoord;wait 2000” OFTC

Figuur: /NETWORK ADD -autosendcmd "/msg NickServ IDENTIFY wachtwoord;wait 2000" OFTC

Vanaf nu moeten we ons geen zorgen meer maken over commando’s of instellingen. De volgende keer dat we irssi opstarten zullen we onmiddellijk kunnen beginnen te chatten.

Ik wil nogmaals vermelden dat we met de ALT + Pijltjestoetsen (Links-Rechts) kunnen bladeren tussen de verschillende vensters van IRSSI.

Dit zijn de 3 vensters die Ik heb na uitvoeren van bovenstaande instructies:

Figuur: irssi Server venster
Figuur: irssi #Linuxgebruikers Kanaal venster
Figuur: irssi NickServ venster

Hier kunnen we duidelijk zien dat ik me correct geïdentificeerd heb via NickServ.

IRSSI is modulair opgebouwd en kan uitgebreid worden d.m.v. scripts. De bibliotheek van scripts voor irssi is te vinden op hun Website.

Het is bijna onmogelijk om alle scripts hier te vermelden, dus neem zeker eens een kijken op de website of er misschien een script (of meerdere) bijstaat dat jou kan interesseren.

Als voorbeeld ga ik hier het script nick-list van Wouter Coekaerts gebruiken:

Figuur: nick-list

Zoals de beschrijving hierboven uitlegt, kan deze uitbreiding een lijst met nicknames weergeven in een ander terminal venster (als je X gebruikt) of in hetzelfde venster als je geen 2 terminal venster open wil hebben voor irssi of als je (zoals wij) werkt vanuit de CLI.

deze 2 modi zijn :
  • FIFO, dit is de modus die Wouter aanbeveelt, maar deze werkt enkel als je via X werkt met terminal vensters.
  • SCREEN dit is de modus die je moet gebruiken in de CLI of als je geen 2 vensters wil gebruiken. Deze optie heeft enkele kleine nadelen t.o.v. de aanbevolen FIFO moduls.
De installatie is als volgt:
  1. Download het script. en kopieer het naar ~/.irrsi/scripts.
  2. start irssi
  3. Geef het commando : /run scriptassist (dit moet maar 1 keer per irssi sessie, dus enkel opnieuw na herstart).
  4. Installeer het script met /script install nicklist
  5. Om de screen versie (1 enkel venster) moeten we irssi opstarten met de screen optie. en niet iedere terminal wordt ondersteund (xterm en konsole wel, maar Eterm, Gnome-Terminal, … niet) xterm -e screen irssi (het kan zijn dat je screen nog moet installeren).
    Opmerking:
    • Als je enkel via de CLI werkt moetje ook het commando screen irssi gebruiken ! als je enkel irssi opstart zonder screen werkt deze plugin niet!
  6. Geef het commando : /script load scriptnaam.pl in om het script uit te voeren. nieuwere versies van irssi ondersteunen ook het commando : /run scriptnaam.pl
  7. geef het commando /NICKLIST SCREEN in.

De andere optie is de FIFO modus waarbij je een 2de terminal venster gebruikt voor de nicklist (/NICKLIST FIFO), dit werkt beter, maar hiervoor is meer configuratie nodig. Als je FIFO de eerste keer gebruikt krijg je een melding die verwijst naar een tekstbestand met de nodige informatie.

Figuur: Nicklist actief maar niet in een kanaal dus de lijst is leeg:
Figuur: Nicklist actief in het #linuxgebruikers kanaal:

Om een script automatisch te laten opstarten met irssi kun je het in de directory ~/.irssi/scripts/autorun plaatsen. Maar de voorkeur gaat uit naar het plaatsen van het script in ~/.irssi/scripts/ en een “symlink te maken naar ~/.irssi.scripts/autorun/ bijv. $ ln -s ~/.irssi/scripts/nicklist.pl ~/.irssi/scripts/autorun/nicklist.pl

Nu moet je enkel /NICKLIST SCREEN of /NICKLIST FIFO afhankelijk van de modus die je wenst te gebruiken ingeven na het opstarten van irssi.

De FIFO modus wordt als volgt gebruikt.
  1. start irssi in een terminal venster.
  2. geef het commando /NICKLIST FIFO
  3. volg nu de instructie en doe cat ~/.irssi/nicklistfifo in een ander terminal venster.
    Opmerking:
    • dit is een pipe en er zal niks op het scherm worden weergegeven.
    Figuur: $ cat ~/.irssi/niucklistfifo
  4. Nu moeten we eenmalig in irssi de afmetingen van onze nicklist instellen. dit doen we met de 2 commando’s:
    • /SET nicklist_height 700
    • /SET nicklist_width 25

    deze 2 waarden zijn maar ter illustratie en jij kan zelf de afmetingen kiezen die je zelf wil gebruiken.

  5. Als we nu het commando /NICKLIST FIDO ingeven zal de lijst met personen in het kanaal worden weergegeven in het terminal venster waarin het cat commando draait. Dit is wel enkel als je in irssi in een kanaal zit, ben je bijv. in het server of NickServ venster dan wordt er in dit venster niks weergegeven.
    Figuur: irssi en nick-list fifo
  6. de volgende keer kun je stap 4 overslaan, zorg er wel voor dat je eerst cat opstart en dan pas het commando /nicklist fifo ingeeft. Om het verschil tussen irssi en de teminal van nicklist duidelijk te maken heb ik 2 verschillende terminals gebruikt, als je voor beide vensters dezelfde terminal gebruikt (gnome-terminal) bij voorbeeld, dan ziet het er zo uit:

Voor meer scripts ga je zoals ik al eerder vermelde naar de scripts pagina van de irssi website.

Tenslotte kun je irssi ook aanpassen d.m.v. Themes.

Themes kun je downloaden van de themes bibliotheek van de irssi website.

Let op!:
  • Zoals je ook op de website kunt lezen wijken de schermafbeeldingen van de verschillende thema’s vaak af van hoe het thema er op jouw computer zal uitzien. Dit komt doordat deze schermafbeeldingen gemaakt zijn op systemen waarop men nog veel andere aanpassingen heeft dan enkel het thema. Vergelijk mijn schermafbeeldingen maar eens met deze op de website van irssi. En ik moet erbij vermelden dat ik een aangepast kleurenschema heb voor de terminal vensters én een ander lettertype gebruik (het IBM 3270 lettertype) dus ook mijn schermafbeeldingen zullen afwijken. Of zoals ze in het Engels zeggen “Your mileage may vary”

Voor dit voorbeeld heb ik het Elite theme genomen.

Installatie van een thema is simpel:
  1. Je download het .theme bestand naar ~/.irssi/
  2. selecteer het met /SET theme naam in irssi

Enkele andere thema's:

Figuur: Evowhite
Figuur: h3rbz

Als je op de website van irssi hebt gekeken zul je zien dat ik de “Modules” hier niet vermeld heb, de reden hiervoor is dat deze niet officieel ondersteunt worden. En “Security“. Security is een lijst met gevonden beveiligingsproblemen, hun omschrijving en informatie wanneer en door wie het probleem is opgelost.

Na het lezen van dit artikel moet je in staat zijn om te genieten van IRC. En als je denkt “waarom zou ik IRC gebruiken”, er zijn verschillende redenen voor zoals, Anoniem (je moet geen account oid aanmaken, maar we adviseren wel om jouw nickname te “registreren via NickServ al is het maar om te voorkomen dat een ander zich voor jou kan voordoen). Beschikbaar op bijna alle apparaten (Android, iOS, Linux, Mac, Windows) en geen “gepatenteerde” toepassing nodig, dus je kiest zelf de IRC client die je wenst te gebruiken je zit ook niet vast aan een bepaalde “aanbieder” die jou gegevens bewaart voor marketing doeleinden en de mogelijkheid om het uit te breiden naar jouw eigen smaak.

Dus waar wacht je nog op? Installeer IRSSI (of een andere IRC client) en kom chatten net zoals de Internet Pioniers deden voor Facebook en Twitter. Want je weet wat ze zeggen: “Hoe meer zielen, hoe meer vreugd” :-)

Meer informatie kun je altijd terugvinden in de manpages of de infopages