Screen + Irssi
Kezako
C'est une solution pour accéder à l'IRC depuis n'importe où avec en prime une conservation de ce qui a été dit pendant votre absence (le temps de quitter le stage pour rentrer par exemple). Imaginez la situation: vous êtes en stage, vous discutez entre amis sur IRC et d'un coup: coupure d'électricité pile au moment où vous avez posé une question supra utile (cmb). Le courant revient 10 minutes plus tard, vous ne savez pas si la réponse a été fournie ou pas: ça fout les boules et ça vous oblige à reposer la même question… pas cool. Avec screen + irssi, tout est ok! Vous pourrez remonter dans ce qui s'est dit depuis votre départ.
Screen
Il s'agit d'un programme qui, une fois lancé, vous permet d'ouvrir et de gérer plusieurs terminaux sur une seule et même console. Un de ses avantages est que même une fois détaché (on parle d'attachement et de détachement de terminaux), les applications lancées dans ces terminaux continuent de tourner. C'est très pratique dans notre affaire car vous désirez continuer à récupérer les messages des autres personnes sur IRC pendant votre absence afin de les récupérer plus tard.
Irssi
C'est un client IRC en mode console. Il permet donc de se connecter au serveur IRC des élèves (irc.iiens.net) et de parler avec les gens. Ce qui est intéressant, c'est qu'il peut être lancé dans un screen !
Par ailleurs, Irssi permet même de gérer plusieurs serveurs IRC : /services_arise/serveurs_irssi
Installation
Screen et irssi sont déjà installé sur perso.iiens.net, donc vous n'avez besoin que d'un terminal et de openssh sur votre poste ! Une configuration par défaut est fournit, permettant pour irssi de se connecter automatiquement au serveur irc. Si vous souhaitez utiliser un ordi à vous pour screener, il suffit d'installer screen et irssi qui sont dans l'arbre officiel de la plupart des distribs.
Utilisation
Pour se servir de Screen+Irssi, il faut un shell donc plusieurs méthodes:
Sous windows, on utilise PuTTY pour se connecter sur
perso.iiens.netet accéder au shellSous un autre OS, démerdez vous pour avoir un shell pour lancer
ssh loginArise@perso.iiens.net Bien entendu, cela implique d'avoir openssh-client d'installé.
Ensuite, Deux possibilités:
Vous désirez récupérer la session et continuer à tchatter : (si ca ne fonctionne pas, cf. plus bas :p)
[user@machine ~] screen -rDVous n'avez pas déjà initialisé le screen + irssi :
[user@machine ~] screen irssi Une fois que vous êtes dans l'interface d'irssi, c'est gagné, vous pouvez jouer avec. Le seul truc qu'il faut que vous reteniez est que quand vous désirez partir volontairement, faut faire un "CTRL+a d" et pas quitter irssi avec un /quit (sinon vous quittez l'application irssi et vous ne pouvez plus récupérer les messages… logique!)
Screen
L'idée est donc de faire tourner un client IRC en mode console (irssi par exemple) dans un terminal géré par screen, le tout lancé sur un serveur qui normalement n'est jamais éteint 🙂 (perso.iiens.net par exemple, et pas lunix comme certains le pensent).
Voici quelques commandes de bases :
Pour lancer un screen, il suffit de faire
screenou si on veut lui donner un petit nom
screen -S petitnomEt si on veut directement lancer irssi on fait :
screen irssiQuand on ne veut plus parler sur irc car il est l'heure du départ, on appuie sur les touches
CTRL+a d(CTRL est maintenu appuyé pour la pression de 'a', on lache tout et ensuite on tape 'd') Cela aura pour but de passer le terminal en mode "géré mais pas visible".
Quand on voudra reprendre ce terminal, on lancera
screen -rDà la place de
screen irssiEt oui: la deuxieme commande demande l'ouverture d'un autre terminal dans lequel on lancera également irssi donc vous aurez 2 sessions d'ouvertes, ca pollue et c'est pas bien :p
Le screen -rD a pour but de reprendre la session de screen lancée précédemment. Si jamais vous en avez lancé plusieurs car vous avez tapé trop de fois le *screen irssi*, vous devez préciser le numéro du screen que vous souhaitez reprendre (il vous est fourni par la commande *screen -ls*)
Bon, ça c'est facile, maintenant, on va pousser un peu plus pour comprendre la puissance du screen :
Voici quelques commandes utiles :
Profitons du fait que screen sache gérer plusieurs terminaux virtuels pour en avoir plein. Pour créer un terminal
CTRL+a cPour passer au terminal suivant
CTRL+a nPour passer au précédent
CTRL+a pPour voir la liste des terminaux
CTRL+a "Ensuite, qd on fait un gros cat par exemple, ou que l'on veut revenir en arrière, on remarque que l'on scroll sur l'historique du terminal lancé sur le client. Cela peut faire du caca, surtout qd on joue avec plusieurs terminaux virtuels dans screen. Pour palier cela, il y a le mode copy :
CTRL+a escapeQui permet ensuite avec pageup/pagedown de naviguer dans l'historique. escape pour en sortir.
Screen dans un screen
Bon, et pour les plus intéressés, on peut lancer un screen dans un screen, cas typique : Vous vous connectez sur hulk:443 car vous êtes derrière un parefeu contraignant. Vous avez votre screen avec irssi dedans et vous voulez vous connecter à votre machine à vous pour y récupérer un screen sur lequel vous faites des trucs.
Ainsi, vous vous connectez en ssh sur votre machine et vous faites, en étant dans le screen sur hulk, un screen. Pour naviguer dans le screen sur votre machine, c'est pareil, sauf qu'il faut rajouter un a entre chaque commande. donc pour ajouter un terminal virtuel dans le screen de votre screen :
CTRL+a a cPour passer au terminal virtuel suivant dans le screen de votre screen :
CTRL+a a nEt ainsi de suite.
Irssi
Irssi est un client irc comme un autre, ainsi, ce que vous trouverez dans ce paragraphe sera valable pour la plupart des clients irc.
On suppose que vous êtes déjà connecté sur le serveur irc.
Les bases
Toutes les commandes commencent par '/', ensuite, il arrive que des appels aux bots présents sur les chans (comme marvin) commence par ' ou par !, cela est fait pour intérargir avec le bot, et n'affecte pas vos paramètres.
Pour changer son pseudo, ou nick on fait
/nick TonNickAinsi, si on veut s'appeler 'Dante' on fait
/nick DantePour join un channel, c'est à dire, aller sur un salon où des gens discutent :
/join #ragotEt là, on se retrouve sur ragot. Et si le chan a un mot de passe:
/join #chansecret motdepasseAinsi, on peut parler avec des gens, et on peut, si on le souhaite, parler à quelqu'un en privé. Pour parler avec Josay en privé :
/query Josayou avec TiffTiff :
/query TiffTiffRemarquez que rejoindre un chan ou parler en privé ouvre une nouvelle fenêtre dans irssi. Ainsi, la partie sur les fenêtres :
Les fenêtres
Pour aller à la fenêtre suivante :
CTRL+n ou ALT+flechedroitefenêtre précédente :
CTRL+p ou ALT+flechegauchepour fermer la fenêtre :
/window closeou, si cela a été configuré
/wcpour aller à la fenêtre numéro N
/window Npour déplacer la fenetre courante à l'emplacement N
/window move NRegister
Register est une action qui permet d'enregistrer son nick sur le serveur. Ainsi, personne peut vous subtiliser votre nick mais aussi, si vous êtes op sur un chan, lorsque vous irez sur ce chan, vous serez automatique op. Et cela permet d'enregistrer les chans que vous créez.
Pour register votre nick, il faut faire :
/quote nickserv REGISTER password [email]Ainsi, cela enregistrant votre pseudo actuel avec le mot de passe password, et si vous le souhaitez, votre email. Ensuite, pour vous identifier et ne pas devenir un poiral, faites :
/quote nickserv IDENTIFY passwordEn utilisant le même mot de passe que le celui utilisé pour register. Cela confirmera que vous êtes bien le propiétaire du nick que vous avez
Aide
Il y a une aide en ligne, faites simplement
/helpEt suivez les instructions qui se trouveront sur le chan 'iie', chan du serveur.
Les problèmes récurrents
Plusieurs screens simultanés
Il arrive parfois de se retrouver avec plusieurs screens en même temps. La commande screen -ls permet de voir les screens qui sont actuellement sauvés.
[user@machine ~]$ screen -ls
There are screens on:
94226.irc (Attached)
94262.devel (Detached)
2 Sockets in /tmp/screens/S-userCela veut dire que j'ai 2 screens (un que j'ai appelé "irc" et l'autre "devel" allez savoir pourquoi…), le Detached c'est qu'il n'est pour le moment pas affiché mais il tourne toujours (cool je suis pas obligé de quitter mon code pour me déconnecter!!). Le (Attached) signifie donc que ce screen est utilisé en ce moment. Dans l'exemple, je suis dans le screen dans lequel je fais tourner IRC mais dans une fenêtre autre (la 2eme par exemple :p).
Pour rejoindre un screen qui est Detached, il suffit de lancer
[user@machine ~]$ screen -rD devel #à adapter en fonction du screen que vous désirez rejoindreSi par malheur, vous n'avez pas nommé vos screen, vous pouvez revenir dessus en indiquant le pid à la place du nom
[user@machine ~]$ screen -rD 94262(z'avez vu la ressemblance troublante entre les nombres fournis et le résultat de screen -ls… dingue!)
Cette commande va vous faire rejoindre le screen devel. Si jamais vous voulez nettoyer les screens pour avoir une configuration "propre", il vous suffira de faire des
[user@machine ~]$ kill -9 94262 94226Une solution alternative est de rejoindre les différents screens l'un après l'autre afin de les quitter proprement.
Si jamais le screen -ls renvoie un truc comme :
There are screens on:
94226.irc (Dead ???)C'est qu'il y a eu un petit souci Pour les nettoyer (car ils ne sont plus accessibles mais ont tout de même un processus qui tourne), on fait un
[user@machine ~]$ screen -wipeEnsuite on peut les recréer tranquillement.
Fichier de configuration
Il est déjà arrivé plusieurs fois (en installant un thème par exemple), que le fichier de configuration qui va bien (fourni par Arise) ait été écrasé et que la configuration pour se connecter au serveur irc d'Arise ne soit plus dans le ficher de config. Il est possible de le récupérer en le copiant comme suit (attention le fichier sur votre home sera écrasé) :
cp /etc/skel/.irssi/config ~/.irssi/configSi vous ne voulez pas perdre les données de votre fichier de config, il faudra modifier le votre afin d'y ajouter les réglages qui vont bien.
Réglages de Charset
Sur Windows avec PuTTY
Voici ce qu'il faut faire si vous avez des problèmes de charset.
Dans la config de PuTTY, Window → Translation, sélectionnez UTF-8 dans le menu. Attention, si vous avez des sessions enregistrées, il faut d'abord charger la session, modifier le paramètre ci-dessus et ensuite sauvegarder la session.
Luit [deprecated]
Le charset par défaut sur IRC est maintenant utf-8, cette section devient par conséquent obsolète Luit, c'est quoi, une nouvelle ampoule ?
luit est un petit utilitaire sous *nix permettant de régler les différents problèmes d'encodage. Le cas typique :
Vous avez une distri linux sur votre pc du genre ubuntu dont l'encodage système est utf-8 par défaut; ou vous avez mis votre gentoo en utf-8 juste pour le fun.
Vous avez votre screen sur un serveur freebsd dont l'encodage est iso8859-15 (Western european).
Les gens vous gueulent des " 'charset tanche !" "ptain, je comprends pas s'que tu dis"
Vous ne trainez pas sur des chans tels que #mangas, #jdr ou autre
Il existe diverses solutions : un paramétrage fin de irssi (mais le buffer posera tjrs problème) ou l'utilisation du script irssi charwar.pl (je suis pas sûr du nom). La plus courante reste luit.
Alors, non, il ne s'agit pas du nom d'une luciole, mais d'un utilitaire x11 permettant l'encodage à la volée.
Pour l'installer :
sudo make me a sandwichah non pardon, c'est :
sudo apt-get install luitou
emerge x11-apps/luitou
"Mettre ici la commande d'install de ta distri" luitensuite, pour se connecter à perso ou hulk, il suffit de faire :
luit -encoding iso8859-15 ssh LoginArise@perso.iiens.netou
luit -encoding iso8859-15 ssh -p 443 LoginArise@hulk.iiens.netLorsqu'on est derrière un parefeu pas gentil.
Après, il ne devrait pas avoir de souci avec la config par défaut, celle où il **n'**y a pas de valeurs précisées pour les variables recode
Maintenant, tu peux arrêter de te faire chier et aller sur irc 😃.