Skip to content

Enviar mensajes por chat en Linux con linea de comandos

En el siguiente tutorial explicaré de qué forma podemos comunicarnos con otros usuarios en sistemas Linux, utilizando el terminal, para enviar mensajes de chat.

Como ya sabemos, existen multiltud de programas que nos permiten chatear a través de interfaz gráfica en Linux y otros sistemas (Telegram, WhatsApp, Pidgin, etc) pero, ¿y si no podemos instalar nada en el sistema? Por ejemplo, un servidor de producción de una empresa.

El motivo también podría ser «fardar» con un compañero de nuestro «dominio» de Linux, mostrándoles este truquito. Sea como sea, Linux tiene una o varias soluciones para todo, siempre. Eso sí, te adelanto que no es el chat más ameno del mundo.

Chatear en Linux con comandos wall y write

Al ser un sistema multiusuario -igual que las diferentes versiones de Windows- las diferentes distros de Linux permiten el inicio de sesión simultáneo de varios usuarios.

Cada usuario recibe su propia «sesión», de forma que no altere el trabajo de otros usuarios. Cada sesión tiene registrados los movimientos y comandos del usuario. Podemos listar los usuarios conectados actualmente, por ejemplo, con «w«.

Enviar mensajes por chat en Linux con linea de comandos

Los comandos siguientes siguen una mecánica simple. Hacen de transporte entre una sesión origen y otra sesión destino. Estas son las similitudes.

  • Ambos son comandos de sistema y no requieren instalación
  • Ambos sirven únicamente para enviar mensajes. Para responder un mensaje recibido, se debe invocar el comando de nuevo.
  • Ambos actúan únicamente sobre usuarios activos. Excluyen por tanto usuarios con sesión no iniciada.
  • Ambos utilizan sesiones de shell o consola para derivar mensajes. Por este motivo no valen para enviar mensajes a usuarios de red o usuarios en sistemas fuera del nuestro.

Sin embargo ambos son diferentes en cuanto a su alcance.

Comando Wall

Mediante el uso de wall enviaremos mensajes a todos los usuarios con sesión iniciada en el sistema remoto, a modo de broadcast.

Imagen cortesía de www.computernetworkingnotes.com

Para enviar un mensaje a todo el mundo, escribiremos:

wall

Pareciera que significa «muro», lo que podría tener cierto sentido dado que sirve para anunciar cosas al público general. Sin embargo el significado es write all.

Una vez pulsamos Intro, escribiremos el mensaje libremente, como si de un chat normal se tratase. Podemos usar todo el espacio deseado y escribir cualquier carácter.

Ahora, para terminar y enviar el mensaje, pulsaremos CTRL + D. Resultado, a continuación.

Para las pruebas, podéis crearos usuarios locales de forma rápida y de esta forma enviaros mensajes.

Comando write

Para enviar un mensaje a un usuario en particular, esta es nuestra opción. Bastará con escribir en la linea de comandos write, seguido del nombre del usuario al que deseamos enviarlo, ejemplo:

write Pedro

Con esto hemos iniciado una sesión de chat interactiva que recoge todo lo que escribimos y automáticamente lo muestra al usuario.

Imagen cortesía de www.computernetworkingnotes.com

Es decir:

  1. Listamos los usuarios conectados con w o who
  2. Abrimos el chat con write <nombre_usuario>
  3. Al usuario remoto le aparece un anuncio «Mensaje de <> desde <> a las <>«
  • Comando who en Linux

La sesión se mantendrá mientras el usuario remoto tenga sesión abierta en el equipo, salvo que se pulse la combinación de teclas que interrumpe el chat, como en el caso anterior es CTRL + D.

Para terminar el chat forzosamente en ambas consolas, pulsaremos CTRL + C en una de ellas. En cualquier caso, siempre que se interrumpa sin haber imputado más datos, encontraremos la linea siguiente, que indica el final.

EOF

Impedir que nos envíen mensajes de chat en la terminal

Quizá no lo hemos pensado aún pero, dado que estos mensajes interrumpen cualquier tarea en primer plano que tengamos ejecutándose de forma interactiva, podría pillarnos en mal momento, por ejemplo, editando un archivo importante.

Para evitar que interurmpan nuestro trabajo y este se pierda, podemos impedir que nos envíen mensjajes de esta forma. Es muy simple. Los siguientes comandos sirven para denegar o permitir la recepción de mensajes, respectivamente.

mesg n
mesg y

Esto no supondrá una diferencia para quien envía el mensaje, así que no podrá saber si lo recibimos o no, salvo por el detalle de que, al pulsar intro para nueva linea, el mensaje se repetirá una vez, ejemplo:

test
test

Espero que os haya resultado interesante el artículo de hoy. No dudéis en compartilo con vuestros amigos y hacer sugerencias si es preciso!

deweloper View All

Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.

Deja un comentario