xenial (1) mesg.1posix.gz

Provided by: manpages-posix_2013a-1_all bug

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.

NAME

       mesg — permit or deny messages

SYNOPSIS

       mesg [y|n]

DESCRIPTION

       The mesg utility shall control whether other users are allowed to send messages via write, 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,  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.

OPTIONS

       None.

OPERANDS

       The following operands shall be supported in the POSIX locale:

       y         Grant permission to other users to send messages to the terminal device.

       n         Deny permission to other users to send messages to the terminal device.

STDIN

       Not used.

INPUT FILES

       None.

ENVIRONMENT VARIABLES

       The following environment variables shall affect the execution of mesg:

       LANG      Provide a default value for the internationalization variables that are unset or null. (See the
                 Base  Definitions  volume  of POSIX.1‐2008, Section 8.2, Internationalization Variables for the
                 precedence  of  internationalization  variables  used  to  determine  the  values   of   locale
                 categories.)

       LC_ALL    If  set  to a non-empty string value, override the values of all the other internationalization
                 variables.

       LC_CTYPE  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).

       LC_MESSAGES
                 Determine  the  locale  that  should  be  used  to affect the format and contents of diagnostic
                 messages written (by mesg) to standard error.

       NLSPATH   Determine the location of message catalogs for the processing of LC_MESSAGES.

ASYNCHRONOUS EVENTS

       Default.

STDOUT

       If no operand is specified, mesg shall display the current terminal state in an unspecified format.

STDERR

       The standard error shall be used only for diagnostic messages.

OUTPUT FILES

       None.

EXTENDED DESCRIPTION

       None.

EXIT STATUS

       The following exit values shall be returned:

        0    Receiving messages is allowed.

        1    Receiving messages is not allowed.

       >1    An error occurred.

CONSEQUENCES OF ERRORS

       Default.

       The following sections are informative.

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 mesg has successfully completed.
       These actions may include, but are not  limited  to:  another  invocation  of  the  mesg  utility,  login
       procedures;  invocation  of the stty utility, invocation of the chmod utility or chmod() function, and so
       on.

EXAMPLES

       None.

RATIONALE

       The terminal changed by 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.

       The method of checking each of the first three file descriptors in sequence until a terminal is found was
       adopted from System V.

       The  file /dev/tty is not specified for the terminal device because it was thought to be too restrictive.
       Typical environment changes for the n operand are that write permissions are removed for others and 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.

       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.

FUTURE DIRECTIONS

       None.

SEE ALSO

       talk, write

       The Base Definitions volume of POSIX.1‐2008, Chapter 8, Environment Variables

       Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2013 Edition,
       Standard  for  Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base
       Specifications Issue 7, Copyright (C) 2013 by the Institute of Electrical and Electronics Engineers,  Inc
       and  The  Open Group.  (This is POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.) 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.unix.org/online.html .

       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 .