- Linux for freshers
- How to Send Broadcast Message to Logged-in Users on Linux Terminals
- Send Messages to Logged-in Users Using the Wall Command
- Send Messages to a Specific Logged-in User
- How to Send a Message to Logged Users in Linux Terminal
- How to Send Broadcast Message to Users on Linux
- How to Send Broadcast Message to Users on Linux
- Broadcast Message with the wall command
- Broadcast Message with the write command
- Broadcast Message with the talk command
- Final Thoughts
- Sign Up for Our Newsletters
Linux for freshers
Wall displays the contents of a file or, by default, its standard input, on the terminals of all currently logged-in users. The command will cut over 79 character long lines to new lines. Short lines are white space padded to have 79 characters. The command will always put the carriage return and new line at the end of each line.
Only the super-user can write on the terminals of users who have chosen to deny messages or are using a program that automatically denies messages.
Reading from a file is refused when the invoker is not a superuser and the program is suid or sgid.
Usually, system administrators send messages to announce maintenance and ask users to log out and close all open programs. The messages are shown to all logged-in users with a terminal open.
wall [-n] [-t timeout] [message | file]
The most straightforward way to broadcast a message is to invoke the wall command with the message as the argument:
wall «The system will be restarted in 10 minutes.»
Broadcast message fromroot@linuxforfreshers (pts/0) (Mon Jan 4 13:22:07 2021):
The system will be restarted in 10 minutes.
The message will be broadcasted to all users that are currently logged in.
To suppress the banner and show only the text you types to the logged-in users, invoke the command with the -n (—nobanner) option:
wall -n «The system will be restarted in 10 minutes.»
The system will be restarted in 10 minutes.
If you want to write multi-line messages, invoke the command without an argument:
The wall command will wait for you to enter text. When you’re done typing the message, press Ctrl+D to end the program and broadcast the message.
You can also use the here-string redirection or pipe the output of another command to wall. Here is an example showing how to use the echo command to broadcast multi-line messages:
echo «The system will be restarted in 10 minutes. \nPlease save your work.» | wall
Broadcast Message from root@linuxforfreshers
The system will be restarted in 10 minutes. \nPlease save your work.
Broadcasting a Message From a File
If you are regularly sending the same messages, you can write each one of them to a file, so that you don’t need to re-type the same text. wall reads from the file only when invoked as root.
To broadcast the contents of a file, invoke the wall command followed by the file name:
The system will be restarted in 10 minutes.
Broadcast message from root@linuxforfreshers (pts/0) (Mon Jan 4 13:30:07 2021):
The system will be restarted in 10 minutes.
How to Send Broadcast Message to Logged-in Users on Linux Terminals
Linux is a multi-user operating system that allows multiple users to log in and use the system. This implies that at any given time, you might have several users logged in.
Sometimes, you might need to send a message or notification to all the users without necessarily placing a phone call or sending them emails. This is mostly when you want to announce a maintenance task or instruct them to log out.
In this guide, we will demonstrate how you can send messages to all logged-in users in the system. This only applies to users who are logged in via a terminal window using an SSH client such as PuTTY.
Send Messages to Logged-in Users Using the Wall Command
The wall command is a command-line utility that displays messages to all logged-in users on the terminal.
The wall command takes the following basic syntax:
If no file is specified, then the wall command reads the message from standard input and broadcasts it to all logged-in users.
For example, the following command reads the message enclosed in quotation marks as the argument and sends it to all logged-in users
# wall "The system will be shutting down at 1500HRS for maintenance. Apologies for any inconvenience caused".
When viewed from a logged-in user (in this case bob), the message appears as shown on the terminal window.
To display a message from a file, invoke the wall command followed by the file name as shown.
This is how the user receives the message on the terminal.
Send Messages to a Specific Logged-in User
Alternatively, you can use the write command to send a message to a specific user. To list all the currently logged-in users, invoke the who command:
For example, to send a message to a user called winnie and notify her about a system restarting in the next 3 hours, run the following write command with the echo command.
$ echo "This system will be restarted in 3 hours" | write winnie
On the user’s terminal, the message will appear as shown.
Conclusion
We have covered various ways of sending a message or notification to logged-in users using the wall and write commands. We hope that you can now send messages to logged-in users without a problem.
How to Send a Message to Logged Users in Linux Terminal
How can I send a messages to logged on users in a Linux server? If you are asking this question, then this guide will help you learn how to do that. We will demonstrate how to send a message to all or a specific logged on user, on the terminal in Linux.
Linux offers a variety of means for sending messages to users logged on to a server as explained in the two methods below.
In the first method, we will use wall command – write a message to all currently logged in users on the terminal as shown.
# wall "System will go down for 2 hours maintenance at 13:00 PM"
To disable the normal banner printed by wall, for example:
Broadcast message from [email protected] (pts/2) (Sat Dec 9 13:27:24 2017):
Add the -n (Suppress the banner) flag, this however, can only be used by the root user.
# wall -n "System will go down for 2 hours maintenance at 13:00 PM"
In the second method, we will use write command, which comes pre-installed on all if not most Linux distributions. It allows you to send a message to another user in the terminal using tty.
First check the all logged on users with the who command as shown.
There are currently two users are active on the system (tecmint and root), now the user aaronkilik is sending a message to the root user.
$ write root pts/2 #press Ctrl+D after typing the message.
That’s all! Do share with us other methods or commands for sending messages to all logged on users through the terminal in Linux. If you have any queries, please use the feedback form below.
How to Send Broadcast Message to Users on Linux
Are you looking for a tutorial on how to send broadcast message to users on Linux? Then this guide is what you need.
Sending individual messages to each user can be tiring and counterproductive. By sending broadcast messages on Linux, you can streamline your communication and save time . It’s an efficient way to make an important announcement to all users at once.
If you’re an IT administrator or a system operator, this guide shows you different ways of sending messages to all currently logged-in users to save you from the pain of manual messaging.
How to Send Broadcast Message to Users on Linux
In this section, we’ll discuss the different commands commonly used for sending messages to all local users.
Broadcast Message with the wall command
This is the most common way to send messages to all users that are logged in. This is the syntax of the wall command:
$ wall [-n] [-t timeout] [message | file]
The simplest way to send the message is to write it after the command, like this:
So for example, if you’d like to notify all users about a system shutdown, the command will look like this:
$ wall "The system will be temporarily shutdown at 06:00 PM due to maintenance"
The command will work without the quotes, too, as you can see from the below picture:
However, having the quotes is good for differentiating between the message and the flags you add.
If you don’t add any message after the command, you’ll be taken to the standard input. After writing the message, press ‘Ctrl + D’ to send it. Here’s how it looks:
$ wall $ Writing the message in the standard input $ ^D(Ctrl + D)
If you’d like to remove the header from the message, you can do that as well. To do that, you add the -n flag, like this:
$ wall -n “Broadcast message without a header”
This feature is only available if you’re a root. Other users can’t use this. If you try to do so, then you will get this message:
wall: --nobanner is available only for root
If you want to display the text of a file as a message instead of writing it, you can do that too. For that, you have to add the file name to the command, like this:
First, let’s create a file. We will use the nano text editor for that. Create a file in nano with this command:
Type your message inside. For testing, we’re writing “Broadcasting a message directory from a file”.
Save the file with ‘Ctrl + O’ and exit using ‘Ctrl + X’.
Now in the terminal, run this command:
An interesting way to use the wall command is to pipe it with the echo command. This is how you do it:
$ echo "Using echo to broadcast a message" | wall
Another cool flag is -t or —timeout . Adding this flag ensures that any writing attempt after the specified time is abandoned. You can specify a value yourself or use the default one, which is 300 seconds.
Broadcast Message with the write command
The write command is used for sending messages to other users. This is done by copying lines from your terminal to theirs. So this command is more suitable for communicating with individual users.
This is the basic syntax of the command:
And this is the message format the user receives:
A user must be logged in for you to be able to send the message. You can check which users are currently logged in with this command:
If you try to send messages to someone not logged in then you will get this output:
write: user is not logged in
So if you want to message a user named ‘john’, for example, this is how you need to write the command:
$ write john $ Hey John, are you free at night? $ I need some help $ ^D(Ctrl + D)
Now if John wants to reply to you, he needs to do the same.
$ write ali23 $ Hey Ali. Yes, I’m free tonight. $ What help do you need? $ ^D(Ctrl + D)
So that’s how users can use the write command for creating a chat session. To terminate it, you have to press ‘Ctrl + C’.
A user can also enable or disable the option to receive such messages. To enable it, you use this command:
To disable the option, run this command:
Broadcast Message with the talk command
This is another useful command for instant messaging and chatting with users. Since the talk command is not installed by default, you need to install it first. Simply install it on Ubuntu/Debian by running these commands:
$ sudo apt-get install talk $ sudo apt-get install talkd
For CentOS/Fedora, run this command:
$ sudo yum install talk $ sudo yum install talk-server
Since these are very small files, it shouldn’t take too long to install.
The syntax for this is as follows:
So using our previous example, this is what it would look like with the talk command:
$ talk [email protected] Message from [email protected] talk: connection requested by [email protected] talk: respond with: talk [email protected]
And John would reply in the same manner, like this:
The good thing about the talk command is that it creates two windows. In one window, the users receive the messages, and in the other, they can write their message. So it feels more realistic when it comes to the chatting experience.
Final Thoughts
This tutorial shows you how to send broadcast message to users on Linux. We’ve covered 3 different commands to achieve this. We tried to show you in detail how to use each command, the goods of each one, and how to make the best out of each command.
If you have any questions, feel free to let us know in the comments below.
If this guide helped you, please share it.
Zunaid is currently pursuing his bachelor’s degree in Information & Communication Technology at Jahangirnagar University. He’s always eager to share his love for all things tech. With a passion for coding, writing, and Linux, he is well-equipped to share his knowledge and insights with readers. LinkedIn GitHub
Sign Up for Our Newsletters
By checking this box, you confirm that you have read and are agreeing to our terms of use regarding the storage of the data submitted through this form.