Il est assez facile d’envoyer des messages à d'autres utilisateurs sur la ligne de commande Linux, mais plusieurs commandes intéressantes méritent plus d’explication. C’est le cas des quatre commandes ci-après. Voici comment elles fonctionnent.

Commande wall

La commande wall (abréviation de « write to all ») permet d'envoyer un message à tous les utilisateurs actuellement connectés au système. Cela implique que le système est probablement un serveur et que les utilisateurs travaillent sur la ligne de commande. Généralement, la commande wall est utilisée par les administrateurs système pour envoyer des avis aux utilisateurs pour leur permettre d'envoyer des informations (par exemple, que le serveur est en panne pour maintenance). Mais n'importe quel utilisateur peut s’en servir.

Un administrateur système peut envoyer un message du type : Le système sera inaccessible dans 15 minutes pour résoudre un problème grave.

Tous les utilisateurs qui se connecteront au système verront un message de ce genre : Message diffusé par admin@dragonfly (pts/0) (Jeudi 5 Mars 08:56:42 2020) :  Le système sera inaccessible dans 15 minutes pour résoudre un problème grave.

Si vous souhaitez utiliser des guillemets simples dans votre message, placez-le entre des guillemets doubles comme ceci :

$ wall « N'oubliez pas de sauvegarder votre travail avant de vous déconnecter ».

Les guillemets extérieurs n'apparaîtront pas dans le message transmis, mais sans eux, la commande reste en attente d’un guillemet de fermeture final.

Commande mesg

Si, pour une raison quelconque, vous ne voulez pas accepter les messages d'un autre utilisateur, vous pouvez les bloquer leur transmission avec la commande mesg. Cette commande peut être utilisée avec un argument « n » pour refuser le courrier de l'utilisateur ou un argument « y » pour permettre aux messages d'arriver.

$ mesg n doug $ mesg y doug

L'utilisateur bloqué ne sera pas informé que ses messages ont été bloqués. Vous pouvez également bloquer ou autoriser tous les messages avec une commande mesg comme celle-ci :

$ mesg y

$ mesg n

Commande write

Une autre commande permet d'envoyer un texte sans avoir à passer par la messagerie électronique. C’est la commande write. Elle peut être utilisée pour communiquer avec un utilisateur spécifique.

$ write nemo Êtes-vous toujours à votre bureau ? J'ai besoin de vous parler tout de suite. ^C

Entrez votre texte et utilisez ^C pour quitter lorsque vous avez terminé. La commande permet d'envoyer un texte, mais ne permet pas d'entamer une conversation à double sens. Elle envoie simplement le texte. Si l'utilisateur est connecté à plusieurs terminaux, vous pouvez spécifier à quel terminal vous voulez envoyer le message ou vous pouvez laisser le système choisir celui sur lequel le temps d'inactivité est le plus court.

$ write nemo#1

Si l'utilisateur à qui vous essayez d'écrire a des messages bloqués, vous devriez voir quelque chose comme ceci :

$ write nemo write : nemo a désactivé les messages

Commande talk/ytalk

La commande talk ou ytalk permet de lancer un chat interactif avec un ou plusieurs autres utilisateurs. La commande fait apparaître une fenêtre à double volet (haut et bas). Chaque personne tapera dans la partie supérieure de l'écran et verra les réponses dans la ou les sections inférieures. Les personnes peuvent répondre à une demande de discussion en tapant « talk » suivi du nom d'utilisateur de la personne qui s'adresse à elles.

Message de Talk_Daemon@dragonfly à 10:10 ...

talk : connexion demandée par dory@127.0.0.1.

talk : réponse à : talk dory@127.0.0.1

$ talk dory

La fenêtre peut impliquer plus de deux participants si l'on utilise ytalk. Comme vous pouvez le voir dans l'exemple ci-dessous (le résultat de la commande « talk dory » montré ci-dessus), talk est souvent ytalk.

----------------------------= YTalk version 3.3.0 =-------------------------- Le rapport est prêt ?  -------------------------------= nemo@dragonfly =---------------------------- Je viens de le finir

Comme expliqué ci-dessus, sur le terminal du correspondant, la conversation est inversée :

----------------------------= YTalk version 3.3.0 =-------------------------- Je viens de le finir -------------------------------= dory@dragonfly =---------------------------- Le rapport est prêt ?  

Encore une fois, utilisez la commande ^C pour quitter.

Pour parler avec quelqu'un sur un autre système, il suffit d'ajouter une option -h et le nom d'hôte ou l'adresse IP avec une commande comme celle-ci :

$ talk -h 192.168.0.11 nemo

En conclusion

Plusieurs commandes simples permettent d’envoyer des messages à d'autres utilisateurs connectés sur des systèmes Linux. Ces commandes peuvent s’avérer particulièrement utiles si l’on a besoin d’envoyer un message rapide à tous les utilisateurs, ou si l’on préfère un échange direct à un appel téléphonique ou si l’on veut facilement impliquer plus de deux personnes dans une session de messagerie rapide. Certaines commandes, comme wall, permettent de diffuser un message, mais ne sont pas interactives. D'autres commandes, comme talk, permettent d’engager des discussions plus longues et multi-utilisateurs. Elle permet d’éviter la conférence téléphonique, surtout si l’objet se limite à un échange assez rapide d'informations.