Irssi som chat-klient

Irssi er en mye brukt terminalbasert IRC-klient, men den har også mulighet for å støtte for XMPP-chat.

Denne veiledningen er ment å hjelpe de som allerede benytter Irssi til å også koble denne mot UiOs chat-tjeneste på chat.uio.no. Den vil derfor være på et nivå som vil kunne være for vanskelig for de som ikke er kjent med Irssi fra før.

Installere irssi-xmpp

Pluginen irssi-xmpp er tilgjengelig i UiOs rpm-repository for installasjon på Redhat-maskiner. Dersom pluginen ikke er installert på din maskin, ta kontakt med din lokale IT-ansvarlige. Dersom du er lokal IT,  kan den installeres med følgende kommando:

   $ sudo yum install irssi-xmpp

Dersom du har en privatmaskin med et annet operativsystem, se dokumentasjonen for dette operativtsystemet eller sidene til Irssi for installasjonsveiledning.

Legg inn at modulen skal lastes ved alle senere oppstarter:

   $ echo "load xmpp" >> ~/.irssi/startup

Dersom du ikke restarter irssi, må du laste den inn for hånd første gangen. I irssi-vinduet ditt:

  [(status)] /load xmpp

Output i irssi:

    [2011-01-20 14:02:43]  -!- Irssi: Loaded module xmpp/core
    [2011-01-20 14:02:43]  -!- Irssi: Loaded module xmpp/text
    [2011-01-20 14:02:43]  -!- Irssi: Loaded module xmpp/fe

Koble seg til chat.uio.no

Legg til nett og så server, og lagre så konfigen:

  /network add UIOChat
  /server add -xmppnet UIOChat chat.uio.no brukernavn@chat.uio.no
  /save

Du kan deretter koble deg til chat.uio.no med kommandoen:

  /connect UIOChat

Dersom du velger å legge til chat.uio.no med autojoin slipper du manuell tilkobling:

   /server add -auto -xmppnet UIOChat chat.uio.no brukernavn@chat.uio.no

Ved tilkobling vil du bli spurt om ditt passord. Skriv inn dette. Du bør ikke la irssi lagre dette passordet ved å oppgi det ved konfigurasjon av server.

Se din roster (kontaktliste):

  /roster

Legge til praterom/kanaler

Serveren for flerbrukerchat heter conference.chat.uio.no. For å bli med i et praterom bruker du for eksempel følgende kommando, som gir deg tilgang til rommet fritt-forum:

  /join fritt-forum@conference.chat.uio.no

Hvis du vil at irssi skal huske rommet så du automatisk blir med i det neste gang, skriver du følgende kommando:

  /channel add -auto fritt-forum@conference.chat.uio.no UIOChat

Nyttige tips

Samle alle meldinger fra samme JID (person) i  ètt vindu

irssi-xmpp grupperer normalt meldinger på JID/resource, ikke bare gitt. Dette betyr at meldinger fra en og samme person kan bli sortert til flere ulike vinduer, avhengig av hvilken resource han er koblet på med. Om han i tillegg benytter en klient som bruker tilfeldige strenger som resource, så kan det være umulig å forutse hvor meldingene blir sortert.

På UiO er nå irssi-xmpp bygget med en patch som lar en bestemme at meldingene skal sorteres på JID og ikke JID/resource. For å skru på denne featuren må du i irssi gi kommandoen:

/set xmpp_strip_resource on
/save

Om du unnlater å oppgi /save etterpå, vil ikke irssi huske innstillingen ved neste restart.

Ignorere join/leave-meldinger

Det er en del metameldinger på praterommene som man kan ønske å filtrere ut, spesielt dersom det er et rom med veldig mange deltagere.

 /ignore -channels fritt-forum@conference.chat.uio.no * JOINS PARTS QUITS NICKS MODES

Denne kommandoen sier at irssi skal ignorere meldinger om at folk kobler seg til eller fra rommet (JOINS og PARTS), avslutter sesjonen sin (QUITS), eller bytter nick (NICKS).  Filtreringen av MODES-meldinger (endring av rettigheter, konfigurasjon mm.) fungerer dersom du benytter irssi med irssi-xmpp på UiOs maskinpark, men filtreringen av disse er brukket i standard distribusjoner av programvare (også kildekoden).

Bytt ut fritt-forum@conference.chat.uio.no med praterommet du ønsker å filtrere for, og velg hva slags meldinger som skal filtreres bort (dvs. en eller flere av meldingstypene vist i eksempelet over).

Irssi vil ikke koble til chat.uio.no etter restart

Irssi er ikke primært laget for XMPP, og det hender derfor at den feilaktig setter noen IRC-spesifikke innstillinger der innstillingene for XMPP ligger i konfigurasjonsfilen. Dette kan fikses ved å redigere ~/.irssi/config på følgende måter:

Om du har fulgt oppskriften over så må du sørge for at du har en linje under chatnets-seksjonen i konfigfila som ser slik ut:

UIOChat = { type = "XMPP"; nick = "dittbrukernavn@chat.uio.no"; };

Det viktige er altså at type = "XMPP" og ikke type = "IRC" under chatnets-seksjonen.

Under servers-seksjonen skal det være en oppføring som ser noenlunde slik ut:

{ address = "chat.uio.no"; port = "5222"; chatnet = "UIOChat"; autoconnect = "yes"; }

Her er det viktig at port = "5222" og ikke f. eks. IRC-porten "6667". Fjern også eventuelle SSL-innstillinger herfra (f. eks. use_ssl og ssl_verify) – XMPP-porten 5222 bruker allerede TLS.

Annet

XMPP-pluginen til irssi er sårbar for feil med tegnkodingen. Pass derfor på at du brukersamme tegnkoding i terminalen og i irssi. I motsatt fall kan det hende irssi kræsjer med feilmeldingen «Segmentation fault».