Ayúdanos a seguir proporcionándote tutoriales gratuitos y de calidad desactivando tu bloqueador de anuncios. suscriptores a nuestro sitio.

Cómo mostrar un mensaje en el terminal a los usuarios con Wall

1 mar 2021 2 min di lettura
Cómo mostrar un mensaje en el terminal a los usuarios con Wall
Tabla de contenidos

Introducción

wall es una utilidad de línea de comandos que muestra un mensaje en los terminales de todos los usuarios conectados. Los mensajes se pueden escribir en el terminal o en un archivo. wall significa escribir todo, para enviar un mensaje solo a un usuario específico, use el comando de write

Por lo general, los administradores del sistema envían mensajes anunciando mantenimiento y solicitan a los usuarios que cierren la sesión y cierren todos los programas abiertos. Los mensajes se muestran a todos los usuarios registrados con un terminal abierto. Los usuarios que utilicen un entorno de escritorio gráfico sin una terminal abierta no verán los mensajes. Cada usuario puede controlar el acceso de escritura a su terminal con la utilidad mesg Cuando el comando de superusuario invoca el wall, todos los usuarios reciben mensajes, independientemente de su configuración mesg.

Enviar un mensaje

La sintaxis del wall es la siguiente:

wall [OPTIONS] [<FILE>|<MESSAGE>]

Si no se especifica ningún archivo, wall lee el mensaje de la entrada estándar.

La forma más fácil de difundir un mensaje es invocar el wall con el mensaje como argumento:

wall "The system will be restarted in 10 minutes."
Broadcast message from [email protected] (pts/0) (Tue Oct 6 19:31:26 2020):

 The system will be restarted in 10 minutes.

El mensaje se transmitirá a todos los usuarios conectados actualmente.

Para ver todos los usuarios registrados, ejecute el comando w o who

Para suprimir el banner y mostrar solo el texto escrito a los usuarios conectados, invoque el comando con la -n ( --nobanner ):

wall -n "The system will be restarted in 10 minutes."
The system will be restarted in 10 minutes.

Si desea escribir mensajes de varias líneas, llame al comando sin argumentos:

wall

El wall esperará a que ingrese el texto. Cuando haya terminado de escribir su mensaje, presione Ctrl+D para terminar el programa y transmitir el mensaje.

También puede utilizar la redirección here-string o redirigir la salida de otro comando a la wall. A continuación, se muestra un ejemplo que muestra cómo usar el echo para transmitir mensajes en varias líneas:

echo "The system will be restarted in 10 minutes. \nPlease save your work." | wall

Transmitir un mensaje desde un archivo

Si envía los mismos mensajes con regularidad, puede escribir cada uno de ellos en un archivo, para no tener que volver a escribir el mismo texto. wall lee del archivo solo cuando se invoca como root.

Para difundir el contenido de un archivo, invoque el wall seguido del nombre del archivo:

The system will be restarted in 10 minutes.
message_file.txt
wall message_file.txt
Broadcast message from [email protected] (pts/0) (Tue Oct 6 19:31:26 2020):

 The system will be restarted in 10 minutes.

Transmitir un mensaje a un grupo

Para enviar un mensaje solo a miembros de un grupo en particular, ejecute el comando con la -g ( --group ), seguido del nombre del grupo. Por ejemplo, para escribir en las terminales de sólo los miembros del grupo de desarrolladores, debe ejecutar:

wall -g devs "The system will be restarted in 10 minutes."

El grupo también se puede especificar mediante su GID (ID de grupo).

Conclusión

El wall escribe un mensaje en los terminales de todos los usuarios conectados actualmente.

Apóyenos si le gusta nuestro contenido. Gracias.

Buy me a coffeeBuy me a coffee

Únase a la conversación

Apóyenos con una donación.

Genial! A continuación, complete el pago para obtener acceso completo a Noviello.it.
Bienvenido de nuevo! Has iniciado sesión correctamente.
Te has suscrito correctamente a Noviello.it.
Éxito! Su cuenta está completamente activada, ahora tiene acceso a todo el contenido.
Éxito! Su información de facturación ha sido actualizada.
Su facturación no se actualizó.