mesg.1p (5660B)
- '\" et
- .TH MESG "1P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
- .\"
- .SH PROLOG
- This manual page is part of the POSIX Programmer's Manual.
- The Linux implementation of this interface may differ (consult
- the corresponding Linux manual page for details of Linux behavior),
- or the interface may not be implemented on Linux.
- .\"
- .SH NAME
- mesg
- \(em permit or deny messages
- .SH SYNOPSIS
- .LP
- .nf
- mesg \fB[\fRy|n\fB]\fR
- .fi
- .SH DESCRIPTION
- The
- .IR mesg
- utility shall control whether other users are allowed to send messages
- via
- .IR write ,
- .IR talk ,
- or other utilities to a terminal device. The terminal device affected
- shall be determined by searching for the first terminal in the sequence
- of devices associated with standard input, standard output, and
- standard error, respectively. With no arguments,
- .IR mesg
- shall report the current state without changing it. Processes with
- appropriate privileges may be able to send messages to the terminal
- independent of the current state.
- .SH OPTIONS
- None.
- .SH OPERANDS
- The following operands shall be supported in the POSIX locale:
- .IP "\fIy\fR" 10
- Grant permission to other users to send messages to the terminal
- device.
- .IP "\fIn\fR" 10
- Deny permission to other users to send messages to the terminal
- device.
- .SH STDIN
- Not used.
- .SH "INPUT FILES"
- None.
- .SH "ENVIRONMENT VARIABLES"
- The following environment variables shall affect the execution of
- .IR mesg :
- .IP "\fILANG\fP" 10
- Provide a default value for the internationalization variables that are
- unset or null. (See the Base Definitions volume of POSIX.1\(hy2017,
- .IR "Section 8.2" ", " "Internationalization Variables"
- for the precedence of internationalization variables used to determine
- the values of locale categories.)
- .IP "\fILC_ALL\fP" 10
- If set to a non-empty string value, override the values of all the
- other internationalization variables.
- .IP "\fILC_CTYPE\fP" 10
- Determine the locale for the interpretation of sequences of bytes of
- text data as characters (for example, single-byte as opposed to
- multi-byte characters in arguments).
- .IP "\fILC_MESSAGES\fP" 10
- .br
- Determine the locale that should be used to affect the format and
- contents of diagnostic messages written (by
- .IR mesg )
- to standard error.
- .IP "\fINLSPATH\fP" 10
- Determine the location of message catalogs for the processing of
- .IR LC_MESSAGES .
- .SH "ASYNCHRONOUS EVENTS"
- Default.
- .SH STDOUT
- If no operand is specified,
- .IR mesg
- shall display the current terminal state in an unspecified format.
- .SH STDERR
- The standard error shall be used only for diagnostic messages.
- .SH "OUTPUT FILES"
- None.
- .SH "EXTENDED DESCRIPTION"
- None.
- .SH "EXIT STATUS"
- The following exit values shall be returned:
- .IP "\00" 6
- Receiving messages is allowed.
- .IP "\01" 6
- Receiving messages is not allowed.
- .IP >1 6
- An error occurred.
- .SH "CONSEQUENCES OF ERRORS"
- Default.
- .LP
- .IR "The following sections are informative."
- .SH "APPLICATION USAGE"
- The mechanism by which the message status of the terminal is changed is
- unspecified. Therefore, unspecified actions may cause the status of
- the terminal to change after
- .IR mesg
- has successfully completed. These actions may include, but are not
- limited to: another invocation of the
- .IR mesg
- utility, login procedures; invocation of the
- .IR stty
- utility, invocation of the
- .IR chmod
- utility or
- \fIchmod\fR()
- function, and so on.
- .SH EXAMPLES
- None.
- .SH RATIONALE
- The terminal changed by
- .IR mesg
- is that associated with the standard input, output, or error, rather
- than the controlling terminal for the session. This is because users
- logged in more than once should be able to change any of their login
- terminals without having to stop the job running in those sessions.
- This is not a security problem involving the terminals of other users
- because appropriate privileges would
- be required to affect the terminal of another user.
- .P
- The method of checking each of the first three file descriptors in
- sequence until a terminal is found was adopted from System V.
- .P
- The file
- .BR /dev/tty
- is not specified for the terminal device because it was thought to be
- too restrictive. Typical environment changes for the
- .IR n
- operand are that write permissions are removed for
- .IR others
- and
- .IR group
- from the appropriate device. It was decided to leave the actual
- description of what is done as unspecified because of potential
- differences between implementations.
- .P
- The format for standard output is unspecified because of differences
- between historical implementations. This output is generally not
- useful to shell scripts (they can use the exit status), so exact
- parsing of the output is unnecessary.
- .SH "FUTURE DIRECTIONS"
- None.
- .SH "SEE ALSO"
- .IR "\fItalk\fR\^",
- .IR "\fIwrite\fR\^"
- .P
- The Base Definitions volume of POSIX.1\(hy2017,
- .IR "Chapter 8" ", " "Environment Variables"
- .\"
- .SH COPYRIGHT
- Portions of this text are reprinted and reproduced in electronic form
- from IEEE Std 1003.1-2017, Standard for Information Technology
- -- Portable Operating System Interface (POSIX), The Open Group Base
- Specifications Issue 7, 2018 Edition,
- Copyright (C) 2018 by the Institute of
- Electrical and Electronics Engineers, Inc and The Open Group.
- In the event of any discrepancy between this version and the original IEEE and
- The Open Group Standard, the original IEEE and The Open Group Standard
- is the referee document. The original Standard can be obtained online at
- http://www.opengroup.org/unix/online.html .
- .PP
- Any typographical or formatting errors that appear
- in this page are most likely
- to have been introduced during the conversion of the source files to
- man page format. To report such errors, see
- https://www.kernel.org/doc/man-pages/reporting_bugs.html .