Mcabber est un client de messagerie instantanée pour le protocole XMPP, que vous connaissez peut-être mieux sous le terme Jabber.
Il se démarque des autres par son utilisation en console, ce qui le rend d'une extrême légèreté, sans pour autant lui retirer ses fonctionnalités.
Si vous utilisez principalement la messagerie instantanée pour envoyer/recevoir des messages, et que vous n'avez pas besoin des fonctions vidéo/audio de XMPP, alors mcabber sera une solution très efficace pour vous!
Accrochez vos ceintures, pour installer mcabber, il faut lancer cette commande :
apt-get update && apt-get install mcabber
La fenêtre se présente divisée en deux : à gauche la liste des contacts, que l'on appellera le roster, à droite la fenêtre de discussion.
┌────────────────┬────────────────────────┐ │ [status] │ │ │--- Groupe 1 │ │ │[a] contact@jab │ │ │[o] contact2@ja │ │ │[_] contact3@ja │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├────────────────┴────────────────────────┤ │ Informations │ │ diverses... │ │ salon, statut,... │ ├─────────────────────────────────────────┤ │ Là où vous écrivez │ └─────────────────────────────────────────┘
Dans le roster, on peut connaître le statut des contacts d'après le symbole entre [ ]
. Voici leurs signification :
STATUTS | ACTION |
---|---|
o | En ligne (online) |
f | Prêt à discuter (free) |
d | Ne pas déranger (do not disturb) |
n | Indisponible (not avaiable) |
a | Absent (away) |
_ | Déconnecté |
? | Status inconnu |
x | Salon de discussion où vous ne participez pas |
C | Salon de discussion où vous participez |
Il existe un contact particulier : [status]
. Ce dernier vous donne toutes les indications de mcabber, lorsque vous demandez de l'aide avec /help par exemple…
Pour sélectionner un contact à qui parler, vous pouvez vous déplacer dans le roster avec les touches PgPrec ou ⇞ ou Page↑ et PgSuiv ou ⇟ ou Page↓
Pour voir les anciens messages, on peut se déplacer dans l'historique avec Ctrl+P et Ctrl+N Pour écrire à un contact, tapez simplement votre message puis ↵ Entrée
Enfin, sachez que mcabber donne accès à de nombreuses fonctionnalités via des commandes commençant par un /
. Rassurez-vous, pas besoin de toutes les retenir! Il suffira de taper /help
pour avoir une liste des commandes disponibles. Ensuite, taper /help commande
vous donnera des explications sur l'utilisation de cette commande. Par exemple, si on tape /help move
, on obtient dans le contact [status]
/MOVE [groupname] 06-07 08:56:01 Déplace le contact sélectionné vers le groupe spécifié. Si aucun groupe n'est donné, le contact est déplacé vers le groupe par défaut. Si le groupe "groupname" n'existe pas, il est créé. 06-07 08:56:01 Astuce : si le mode discussion (chatmode) est activé, vous pouvez utiliser "/roster alternate" pour vous positionner sur le contact que vous venez de déplacer.
Voyons quelques-unes de ces commandes les plus utiles.
Astuce : Tapez Tab ⇆ et la commande sera auto-complétée.
Cette commande permet d'ajouter un contact.
/add contact@jabber.ru Surnom
Cette commande vous permet d'autoriser un contact à vous voir ou non, demander son statut…
Sélectionnez un contact, puis selon ce que vous voulez :
/authorization allow /authorization cancel /authorization request
Plus de détails en lançant cette commande /help authorization
Cette commande vous permet de manipuler l'historique du texte tapé. Par exemple pour chercher du texte :
/buffer search_backward textecherché
Pour enregistrer dans un fichier l'historique :
/buffer save nom_du_fichier
Toujours plus de détails avec /help buffer
Supprimer un contact. Et oui, c'est brutal aussi mcabber! :)
Cette commande permet de déplacer le contact sélectionné dans un groupe. Un groupe inexistant sera alors créé.
/move Salons
Cette commande permet de gérer les salons. Elle contient de très nombreuses fonctionnalités, je vous conseille donc de taper \help room
. Voici quelques exemples :
Rejoindre un salon (pseudo et motdepasse facultatifs):
/room join salon@jabberfr.org pseudo motdepasse
Ajouter aux marques-page et rejoindre automatiquement le salon sélectionné :
/room bookmark +autojoin
La configuration de mcabber se réalise dans le fichier ~/.mcabberrc
. Copions le fichier exemple fourni avec debian :
gunzip -c /usr/share/doc/mcabber/examples/mcabberrc.example.gz > ~/.mcabberrc
On se retrouve avec un fichier contenant la configuration par défaut. Remarquez qu'il est très bien commenté. Nous détaillerons ici les options essentielles, mais vous pouvez peaufiner la configuration de vous-même.
Pour définir son compte et mot de passe jabber :
# Please provide your Jabber (XMPP) identifier: set jid = moua@jabber.fr set password = supermegamotdepasse
J'ai plusieurs compte moi! Comment je fais?
Pas de panique! Il va juste falloir créer un fichier de configuration par compte. Par exemple : ~/.mcabberrcjabberfr
et ~/.mcabberrcgmail
.
Dans chacun d'entre eux vous préciser vos identifiants/mots de passe relatifs au compte. Et maintenant, pour utiliser le compte gmail, vous lancez la commande :
mcabber -f ~/.mcabberrc_gmail
L'option -f
permet simplement de préciser à mcabber quel fichier de configuration utiliser.
Pour avoir son bon pseudonyme dans les salons :
# the jid variable can be used. set nickname = "MonPseudoQuiDechire"
set lang = fr
Pour n'avoir aucun soucis d'affichage des caractères, on préférera l'UTF-8 :
set spell_enable = 1 set spell_lang = fr_FR set spell_encoding = UTF-8
On peut choisir le statut des contacts à afficher dans le roster. Par exemple, je ne veux afficher que les contacts en lignes o
, et disponibles pour discuter f
:
set roster_display_filter = of
Rappelons la signification de ces lettres :
STATUTS | ACTION |
---|---|
o | En ligne (online) |
f | Prêt à discuter (free) |
d | Ne pas déranger (do not disturb) |
n | Indisponible (not avaiable) |
a | Absent (away) |
_ | Déconnecté |
? | Status inconnu |
x | Salon de discussion où vous ne participez pas |
C | Salon de discussion où vous participez |
set logging = 1 set load_logs = 1 set logging_dir = ~/.mcabber/histo/ set logging_ignore_status = 1
Mcabber peut être étendu par des modules. Pour préciser le répertoire où ils sont enregistrés :
set modules_dir = /usr/lib/mcabber/
Pour charger un module:
module load nomdumodule
Changez le temps avant que votre statut soit automatiquement “away”
set autoaway = 180
set message_avail = Disponible set message_free = Prêt à discuter set message_dnd = Occupé à autre chose set message_notavail = Indisponible set message_away = Parti
Vous pouvez déja profiter de l'auto-complétition avec la touche Tab ⇆. Mais mcabber vous donne la possibilité d'avoir l'auto-complétition pour les pseudos des personnes dans un salon!
Décommentez cette ligne dans le .mcabberrc
:
set muc_completion_suffix = ": "
Maintenant, pour profiter de cette fonction, tapez “smo:” puis Tab ⇆ et mcabber remplacera par “smolski” . (sous réserve qu'un dénommé smolski soit présent dans le salon) :)
Pour que le fond de mcabber soit transparent, précisez ceci dans les couleurs :
set color_background = default
Vous pouvez vous créer vos propres raccourcis en indiquant vos commandes. Par exemple :
alias me = say /me
Définissez vos propres raccourcis claviers avec bind keycode action
. Pour connaître le code d'une touche ou combinaison de touche, tapez la simplement dans mcabber. Si elle n'est attribuée à aucun raccourci, alors le code correspondant apparaîtra dans la barre de status. Quelques exemples :
# F5 (269) affiche/cache les contacts déconnectés bind 269 = roster toggle_offline # F12 (276) affiche/cache le roster bind 276 = roster toggle # alt-shift-k Monte dans le roster bind M75 = roster up # alt-shift-j descend dans le roster bind M74 = roster down
Lorsqu'un évènement survient (connexion d'un contact, nouveau message), mcabber peut lancer un script quelconque. Pour cela, on ajoute cette option :
set events_command = ~/.mcabber/eventcmd
C'est donc le script eventcmd
placé dans ~/.mcabber
qui sera exécuté. Un exemple de ce script est situé ici : /usr/share/doc/mcabber/examples/contrib/events/eventcmd
.
Cette solution est très pratique pour avoir des notifications par exemple.
Le principe est le même qu'au paragraphe précédent : lorsqu'un message est reçu, on lance un script. Ce dernier est situé ici : /usr/share/doc/mcabber/examples/contrib/events/eventcmd.pastebin
.
Le système de “hooks” permet de lancer une action lorsqu'un évènement survient.
Pour lancer une commande lorsque vous vous connectez, par exemple mettre votre statut à “ne pas déranger”:
set hook-post-connect = status dnd
Et lorsque vous vous déconnectez, pour dire au-revoir à foo@bar :
set hook-pre-disconnect = say_to foo@bar Goodbye!
Sans être dans la fenêtre de mcabber, vous pouvez quand même le contrôler. Cela peut être utile sur un serveur éventuellement. Utilisez alors le système de “fifo” :
set fifo_name = ~/.mcabber/mcabber.fifo set fifo_hide_commands = 0 set fifo_ignore = 0
Et envoyez ensuite vos commandes dans le fichier fifo echo commande » ~/.mcabber/mcabber.fifo
Par exemple, pour changer votre status en “Occupé : En train de réviser”:
echo "status dnd En train de réviser" >> ~/.mcabber/mcabber.fifo
Non, mcabber n'est pas un client IRC. Cependant, certains serveurs jabbers proposent des passerelles vers le protocole IRC. Si votre adresse jabber le permet, alors vous pouvez rejoindre un salon de cette façon :
/room join #salon%irc.freenode.net@irc.jabberfr.org
Décomposons cette ligne : - /room join : commande mcabber pour rejoindre un salon - #salon : nom du salon IRC - %irc.freenode.net : le serveur IRC est sur irc.freenode.net. Il est important d'utiliser un %
(spécifique à jabber) - @irc.jabberfr.org : C'est la passerelle IRC de votre compte jabber. L'exemple utilise celui de jabberfr:
Des informations sur le transport sont disponibles ici
Oui mais problème, sur IRC, on utilise des commandes du type “/commande”. Comment faire pour que mcabber ne croit pas que c'est une commande pour lui?
Tout bêtement, il faut ajouter devant /say
. Par exemple :
/say /me
Ou encore
/say /nick monnouveaupseudo
Ajouter des alias dans le fichier de configuration de mcabber s'avère alors très utile.
Vous pouvez rajouter un alias dans ~/.mcabberrc
:
alias ircidentify = say_to NickServ%irc.freenode.net@irc.jabberfr.org identify VotrePseudo motDePasse
Et ensuite, n'avoir qu'à lancer la commande
/ircidentify
Vous devez peut-être authentifier votre pseudo sur IRC. Il est confortable de le faire automatiquement. Pour cela, une méthode possible avec mcabber est d'utiliser le script d'évènements, avec le fifo de mcabber.
Donc assurez-vous de copier /usr/share/doc/mcabber/examples/contrib/events/eventcmd
dans votre dossier ~/.mcabber
.
Ensuite, modifiez ~/.mcabberrc
pour activer le fifo et le script d'évènements :
set events_command = ~/.mcabber/eventcmd set fifo_name = ~/.mcabber/mcabber.fifo
Dans le script eventcmd, en dessous la section concernant les STATUS, nous allons ajouter quelques lignes, pour vérifier lorsqu'on est connecté à la passerelle IRC, puis dans ce cas envoyer la commande d'authentification via le fifo de mcabber :
elif [ $event = "STATUS" ]; then # Buddy $arg2 status is $arg1 (_, O, I, F, D, N, A) #auto-identify on irc if [ $arg2 = "irc.jabberfr.org" ]; then if [ "$arg1" = "O" ]; then sleep 16 # pour être sûr de la connexion. echo "say_to NickServ%irc.freenode.net@irc.jabberfr.org identify VotrePseudo motDePasse" >> ~/.mcabber/mcabber.fifo fi fi fi