En ocasiones es necesario contactar con los usuarios conectados a un sistema GNU/Linux para avisarles de posibles tareas de mantenimiento, tareas programadas, incidencias o por cualquier otro motivo. En GNU/Linux, esto es posible gracias a varias herramientas integradas en el sistema o gracias a herramientas de terceros.
Seguid leyendo y os enseñaré a enviar mensajes a otros usuarios del sistema o sistemas remotos...
¿QUÉ SON WALL, WRITE Y TALK?
Wall, write y talk son aplicaciones para GNU/Linux que nos permiten contactar a través de mensajes con usuarios dentro del sistema o incluso en sistemas remotos. Wall y Write vienen preinstalados en casi el 99% de las distribuciones de GNU/Linux, pero talk será necesario instalarlo aparte.
Se puede chatear a través de consola con otros usuarios
1.- ELEMENTOS NECESARIOS PARA ESTE TUTORIAL
- Un PC con GNU/Linux
- Internet recomendado
2.- ENVIAR MENSAJES CON WALL
Wall viene instalado por defecto en el 99% de las distribuciones de GNU/Linux, por tanto, no es necesario instalar nada en el sistema. Para enviar un mensaje genérico y sin formato a todos los usuarios del sistema, tan solo debemos ejecutar el siguiente comando:
raul@debian:~$ wall "El sistema se reiniciará en 15 minutos. Por favor, guarden sus documentos."
El resto de usuarios, verán un mensaje como el siguiente en sus consolas/terminales GNU/Linux:
Broadcast message from raul@debian (pts/0) (Fri Jan 29 21:09:02 2021):
El sistema se reiniciará en 15 minutos. Por favor, guarden sus documentos.
SI queremos enviar un mensaje con un formato mas personalizado, podemos usar "wall" junto con "echo" para mejorar el aspecto del mensaje. Por ejemplo:
raul@debian:~$ echo -e "\n############\nEl sistema se reiniciará en 15 minutos.\nPor favor, guarden sus documentos.\n############\n" | wall
El resto de usuarios, verán un mensaje como el siguiente en sus consolas/terminales GNU/Linux:
Broadcast message from raul@debian (pts/0) (Fri Jan 29 21:10:43 2021):
############
El sistema se reiniciar\303\241 en 15 minutos.
Por favor, guarden sus documentos.
############
También se pueden enviar mensajes a un grupo determinado de usuarios añadiendo la opción "-g <grupo>" a wall.
3.- ENVIAR MENSAJES CON WRITE
Write, al igual que Wall viene instalado en el 99% de las distribuciones de GNU/Linux. Con write se pueden enviar mensaje a un usuario en concreto y especificar la terminal a la que está conectado el usuario remoto.
Lo primero que hay que hacer es ver qué usuarios están conectados en el sistema. Para ello, con el comando "who" o "w" se verán los usuarios en el sistema y la terminal en la que están logeados:
raul@debian:~$ who
raul pts/0 2021-01-29 21:04 (192.168.1.46)
raul pts/1 2021-01-29 21:04 (192.168.1.46)
juan pts/2 2021-01-29 21:18 (127.0.0.1)
Por ejemplo, con el usuario Raúl vamos a enviar mensajes al usuario juan que está en la terminal pts/2, para ello ejecutaremos el comando siguiente y cada vez que pulsemos <enter> se enviará esa línea al usuario.
raul@debian:~$ write juan pts/2
Hola Juan:
Necesitamos que apagues tu PC durante 15 minutos.
Gracias
El equipo de Tecnología.
El usuario remoto juan, verá en su consola/terminal los mensajes que le envía el usuario raúl:
Message from raul@debian on pts/0 at 21:21 ...
Hola Juan:
Necesitamos que apagues tu PC durante 15 minutos.
Gracias
El equipo de Tecnología.
EOF
juan@debian:~$
4.- ENVIAR MENSAJES CON TALK
Talk es una aplicación para enviar mensajes entre usuarios, pero a diferencia de Write y Wall, Talk permite tener la pantalla dividida en dos partes para ver lo que nosotros escribimos y enviamos y lo que nos responde el otro usuario. ¡Es como un chat!
Lo primero que necesitamos es instalar talk y talkd en nuestro equipo. Si estamos usando una aplicación basada en paquetes *.deb, ejecutaremos el siguiente comando:
raul@debian:~$ sudo apt-get install talk talkd
Vamos a simular una conversación entre el usuario Raúl y Juan. Talk permite hablar con usuarios de otros equipos siempre y cuando talk y talkd estén también correctamente configurados en el otro equipo. Como las pruebas las estamos haciendo con usuarios locales, en la consola de Raúl ejecutaremos lo siguiente, si quisiéramos hablar con un usuario remoto escribiríamos <usuario@servidor_remoto>:
raul@debian:~$ talk juan@localhost
Se abrirá una pantalla similar a la siguiente en estado de espera de conexión:
Usuario Raúl arrancado Talk
El usuario Juan recibirá en su pantalla un mensaje como el siguiente y con las instrucciones para comenzar la conversación:
Message from Talk_Daemon@debian at 22:10 ...
talk: connection requested by raul@127.0.0.1.
talk: respond with: talk raul@127.0.0.1
Para comenzar la conversación, ejecutaremos el comando que se indica:
juan@debian:~$ talk raul@127.0.0.1
Ahora, el usuario Juan ya puede escribir mensajes a Raúl y viceversa:
Juan hablando a Raúl
En la siguiente pantalla (usuario Raúl) se ve en la parte inferior el mensaje enviado por Juan, y en el parte superior la respuesta de Raúl a Juan:
Ventana talk Raúl
La siguiente ventana corresponde al usuario Juan:
Ventana talk Juan
ENJOY!