mesg y command not working
The phenomenon that is hinted at in the question is the following. Users on a multiuser Linux system are able to write messages to each other using the write
command. The message would show up on the console. Also, a root
user would be able to send a message to all users at once using the wall
command.
If you are busy, you may turn off these messages by entering the command mesg n
, and turn them back on with mesg y
. The default is y
.
To show which users are logged on, and which are listening to messages, you can use the who -w
command. It will show a +
for users who allow messages to come through, and a -
for those who don't. If the system can't determine what the mesg
status of the user is, it will display a ?
.
These days most of us will use a graphic environment and a terminal emulator, rather than a text console. A terminal emulator establishes what is called a "pseudo tty device". The who
command (you can find its source by searching for the coreutils
package) tries, but fails, to determine the mesg
state of a pseudo tty device.
However, if you open a different console, e.g. by pressing Ctrl + Alt + F3, and login, the who -w
command will display:
jos + tty3 2021-06-25 10:52
This is a genuine tty
device and not a pseudoterminal. Notice the +
that indicates I'm prepared to read messages from my co-users on this console.