mesg - permit or deny messages
[-s] [-v] [y|n|ye|ne|Y|N|NE] [d] [-p[w|t|k|a]] [-x[w|t|k|n]]
[-m[l|c|a]] [-h[Y|y|n]] [-r[y|n]] [-b[y|n]]
This is the "Orville write" verison of the standard Unix mesg
with argument n
forbids messages via write(1)
, and talk(1)
by revoking non-user write
permission on the user's terminal. Mesg
with argument y
reinstates permission. All by itself, mesg
reports the current state
without changing it.
settings mean ``no with exceptions'' and ``yes with
exceptions'' respectively. If ne
is set, and there is file named
in your home directory, then the users whose logins are
listed there may still write you. If ye
is set, and there is a file
in your home directory, then the users whose logins are
listed there may not write you. These files have no effect if the permissions
are set to n
. The .nowrite
files do not need to be permitted to anyone else, and almost any plausible
format will be understood (listing one login name per line is a good default).
Lines may be commented out with a # sign in the first column.
The upper case Y
do all that the lower case ones do, but may
have some additional affects depending on the installation.
argument, if enabled, will attempt to disconnect any write sessions
currently directed at your tty. This is meant to allow users to slam the door
on unwelcome writers. Note that a simple ``mesg n'' will not stop anyone who
is already writing you from continuing to do so, it only prevents new
connections from being made. The NE
setting also causes a disconnect,
but turns your settings to ne
instead of n
. The d
argument causes a disconnect, just like ``mesg N'', but does not change your
always depermits your tty device, so you can only be
written through write
and similar programs. This prevents arbitrary
stuff from being redirected to your tty. When you do ``mesg Y'' your tty is
write permitted to others. This is rarely necessary or desirable.
can also be used to set other switches that affect Orville
. The -p
flag lets you set preferences to (w) write, (t)
telegrams, (k) talk, or (a) any. The default is ``any.'' If you set a
preference to write, then people will not be able to send telegrams or talk
requests to you. If they try to send telegrams, they will be asked if they
want to write you instead. Similarly if you prefer telegrams, people will not
be able to write or talk to you, and if you prefer talk, people will not be
able to write or tel you. You can designate two preferences, like ``mesg -pt
-pw'' to allow people to write or telegram you, but not make talk requests to
you. Alternately, you can use the -x
flag to block particular programs.
Doing ``mesg -xk'' blocks only the talk program, and is equivalent to ``mesg
-pt -pw''. Similarly the ``-xn'' flag excludes no programs and is equivalent
to ``-pa''. Trying to block all programs just turns you permissions off.
flag lets you set modes to (l) line, (c) character, or (a) any.
The default is ``any.'' If you set a mode, then all writes to you will be done
in that mode. If you leave it as ``any,'' the choice is left to the writer.
This will not affect connections already in progress, only future ones.
flag lets you turn on or off the recording to telegrams sent to
you. If it is enabled, everytime you are sent a telegram (or a write with
input taken from a file), the text of the messages is saved in a file named
.lastmesg in your home directory. This allows you to redisplay the last
message sent to you using the huh(1)
command. If a screen clear ate a
telegram message before you had time to read it, then the huh
lets you see it again. Note that only the last message sent is stored. The
file is permitted to be readable to you only.
flag lets you tell the write
whether or not to beep when a person writes you or sends you a telegram. The
default is to beep.
flag lets you turn on or off your helper status. People who
designate themselves as helpers are announcing their willingness to help out
lost users. Their accounts will be marked on the output of the
command, and if anyone does a write
to ``help'' they automatically get connected to someone who has a help flag
set. Normally, turning your permissions off also turns your helper-status off,
but if you set the -h
flag to Y
, then you will remain a helper
even when your message permissions are off. This means you can receive help
requests, but not normal messages.
On some systems there is a restricted list of users who may be helpers. This is
usually kept in the file /etc/helpers, one login name per line. If such a file
exists then you will have to get the operators to add your name to it to be
able to designate yourself as a helper.
If no new settings are given to mesg
, then it just reports on the current
settings. Normally it prints the message permissions, but if a -h
, or -m
flag was given without a new value after
it, then the current status of that switch will be printed instead. If you use
flag, then this output will be suppressed. The command still
reports the status of the selected switch with its numeric return code.
If you use the -v
flag, all switch settings will be reported in a verbose
The numeric values returned as return codes (see below) can also be used to set
switches. Thus ``mesg 0 -m2'' sets permissions on, and the mode to any. This
makes it easy for shell scripts to restore settings that were stored
The argument syntax is actually a lot looser than mentioned above. The dashes
before options may be omitted, Spaces may be added or omitted anywhere in the
Exit status is -1 on an error. Otherwise a code is returned reporting the status
of one of the settings. If the arguments included -h
flags without a new value after it, then the last of these listed
will be reported. Otherwise, if any options were set, the last of those listed
in the argument list will be reported. And if nothing was set, then message
permissions are reported.
When message permissions, record settings, or helper settings are reported, 0
indicates 'y', and 1 indicates 'n'. When preferences are reported, 1 indicates
'w', 2 indicates 't', and 4 indicates 'k', and any combinations are returned
as sums of these values. When modes are reported, 0 indicates 'l', 1 indicates
'c', and 2 indicates 'a'.
Turning off 'talk' permissions will only work if you have a talkd which has been
modified to understand Orville write's permission.