Blame man-pages-posix-2013-a/man1p/talk.1p

Packit 7cfc04
'\" et
Packit 7cfc04
.TH TALK "1P" 2013 "IEEE/The Open Group" "POSIX Programmer's Manual"
Packit 7cfc04
.SH PROLOG
Packit 7cfc04
This manual page is part of the POSIX Programmer's Manual.
Packit 7cfc04
The Linux implementation of this interface may differ (consult
Packit 7cfc04
the corresponding Linux manual page for details of Linux behavior),
Packit 7cfc04
or the interface may not be implemented on Linux.
Packit 7cfc04
Packit 7cfc04
.SH NAME
Packit 7cfc04
talk
Packit 7cfc04
\(em talk to another user
Packit 7cfc04
.SH SYNOPSIS
Packit 7cfc04
.LP
Packit 7cfc04
.nf
Packit 7cfc04
talk \fIaddress \fB[\fIterminal\fB]\fR
Packit 7cfc04
.fi
Packit 7cfc04
.SH DESCRIPTION
Packit 7cfc04
The
Packit 7cfc04
.IR talk
Packit 7cfc04
utility is a two-way, screen-oriented communication program.
Packit 7cfc04
.P
Packit 7cfc04
When first invoked,
Packit 7cfc04
.IR talk
Packit 7cfc04
shall send a message similar to:
Packit 7cfc04
.sp
Packit 7cfc04
.RS 4
Packit 7cfc04
.nf
Packit 7cfc04
\fB
Packit 7cfc04
Message from <\fIunspecified string\fP>
Packit 7cfc04
talk: connection requested by \fIyour_address\fP
Packit 7cfc04
talk: respond with: talk \fIyour_address\fP
Packit 7cfc04
.fi \fR
Packit 7cfc04
.P
Packit 7cfc04
.RE
Packit 7cfc04
.P
Packit 7cfc04
to the specified
Packit 7cfc04
.IR address .
Packit 7cfc04
At this point, the recipient of the message can reply by typing:
Packit 7cfc04
.sp
Packit 7cfc04
.RS 4
Packit 7cfc04
.nf
Packit 7cfc04
\fB
Packit 7cfc04
talk \fIyour_address\fR
Packit 7cfc04
.fi \fR
Packit 7cfc04
.P
Packit 7cfc04
.RE
Packit 7cfc04
.P
Packit 7cfc04
Once communication is established, the two parties can type
Packit 7cfc04
simultaneously, with their output displayed in separate regions of the
Packit 7cfc04
screen. Characters shall be processed as follows:
Packit 7cfc04
.IP " *" 4
Packit 7cfc04
Typing the
Packit 7cfc04
<alert>
Packit 7cfc04
character shall alert the recipient's terminal.
Packit 7cfc04
.IP " *" 4
Packit 7cfc04
Typing <control>\(hyL shall cause the sender's screen regions to be
Packit 7cfc04
refreshed.
Packit 7cfc04
.IP " *" 4
Packit 7cfc04
Typing the erase and kill characters shall affect the sender's terminal
Packit 7cfc04
in the manner described by the
Packit 7cfc04
.BR termios
Packit 7cfc04
interface in the Base Definitions volume of POSIX.1\(hy2008,
Packit 7cfc04
.IR "Chapter 11" ", " "General Terminal Interface".
Packit 7cfc04
.IP " *" 4
Packit 7cfc04
Typing the interrupt or end-of-file characters shall terminate the
Packit 7cfc04
local
Packit 7cfc04
.IR talk
Packit 7cfc04
utility. Once the
Packit 7cfc04
.IR talk
Packit 7cfc04
session has been terminated on one side, the other side of the
Packit 7cfc04
.IR talk
Packit 7cfc04
session shall be notified that the
Packit 7cfc04
.IR talk
Packit 7cfc04
session has been terminated and shall be able to do nothing except
Packit 7cfc04
exit.
Packit 7cfc04
.IP " *" 4
Packit 7cfc04
Typing characters from
Packit 7cfc04
.IR LC_CTYPE
Packit 7cfc04
classifications
Packit 7cfc04
.BR print
Packit 7cfc04
or
Packit 7cfc04
.BR space
Packit 7cfc04
shall cause those characters to be sent to the recipient's terminal.
Packit 7cfc04
.IP " *" 4
Packit 7cfc04
When and only when the
Packit 7cfc04
.IR stty
Packit 7cfc04
.BR iexten
Packit 7cfc04
local mode is enabled, the existence and processing of additional
Packit 7cfc04
special control characters and multi-byte or single-byte functions
Packit 7cfc04
shall be implementation-defined.
Packit 7cfc04
.IP " *" 4
Packit 7cfc04
Typing other non-printable characters shall cause
Packit 7cfc04
implementation-defined sequences of printable characters to be sent
Packit 7cfc04
to the recipient's terminal.
Packit 7cfc04
.P
Packit 7cfc04
Permission to be a recipient of a
Packit 7cfc04
.IR talk
Packit 7cfc04
message can be denied or granted by use of the
Packit 7cfc04
.IR mesg
Packit 7cfc04
utility. However, a user's privilege may further constrain the domain
Packit 7cfc04
of accessibility of other users' terminals. The
Packit 7cfc04
.IR talk
Packit 7cfc04
utility shall fail when the user lacks appropriate privileges to
Packit 7cfc04
perform the requested action.
Packit 7cfc04
.P
Packit 7cfc04
Certain block-mode terminals do not have all the capabilities necessary
Packit 7cfc04
to support the simultaneous exchange of messages required for
Packit 7cfc04
.IR talk .
Packit 7cfc04
When this type of exchange cannot be supported on such terminals, the
Packit 7cfc04
implementation may support an exchange with reduced levels of
Packit 7cfc04
simultaneous interaction or it may report an error describing the
Packit 7cfc04
terminal-related deficiency.
Packit 7cfc04
.SH OPTIONS
Packit 7cfc04
None.
Packit 7cfc04
.SH OPERANDS
Packit 7cfc04
The following operands shall be supported:
Packit 7cfc04
.IP "\fIaddress\fR" 10
Packit 7cfc04
The recipient of the
Packit 7cfc04
.IR talk
Packit 7cfc04
session. One form of
Packit 7cfc04
.IR address
Packit 7cfc04
is the <\fIuser\ name\fP>, as returned by the
Packit 7cfc04
.IR who
Packit 7cfc04
utility. Other address formats and how they are handled are
Packit 7cfc04
unspecified.
Packit 7cfc04
.IP "\fIterminal\fR" 10
Packit 7cfc04
If the recipient is logged in more than once, the
Packit 7cfc04
.IR terminal
Packit 7cfc04
argument can be used to indicate the appropriate terminal name. If
Packit 7cfc04
.IR terminal
Packit 7cfc04
is not specified, the
Packit 7cfc04
.IR talk
Packit 7cfc04
message shall be displayed on one or more accessible terminals in use
Packit 7cfc04
by the recipient. The format of
Packit 7cfc04
.IR terminal
Packit 7cfc04
shall be the same as that returned by the
Packit 7cfc04
.IR who
Packit 7cfc04
utility.
Packit 7cfc04
.SH STDIN
Packit 7cfc04
Characters read from standard input shall be copied to the recipient's
Packit 7cfc04
terminal in an unspecified manner. If standard input is not a
Packit 7cfc04
terminal, talk shall write a diagnostic message and exit with a
Packit 7cfc04
non-zero status.
Packit 7cfc04
.SH "INPUT FILES"
Packit 7cfc04
None.
Packit 7cfc04
.SH "ENVIRONMENT VARIABLES"
Packit 7cfc04
The following environment variables shall affect the execution of
Packit 7cfc04
.IR talk :
Packit 7cfc04
.IP "\fILANG\fP" 10
Packit 7cfc04
Provide a default value for the internationalization variables that are
Packit 7cfc04
unset or null. (See the Base Definitions volume of POSIX.1\(hy2008,
Packit 7cfc04
.IR "Section 8.2" ", " "Internationalization Variables"
Packit 7cfc04
for the precedence of internationalization variables used to determine
Packit 7cfc04
the values of locale categories.)
Packit 7cfc04
.IP "\fILC_ALL\fP" 10
Packit 7cfc04
If set to a non-empty string value, override the values of all the
Packit 7cfc04
other internationalization variables.
Packit 7cfc04
.IP "\fILC_CTYPE\fP" 10
Packit 7cfc04
Determine the locale for the interpretation of sequences of bytes of
Packit 7cfc04
text data as characters (for example, single-byte as opposed to
Packit 7cfc04
multi-byte characters in arguments and input files). If the
Packit 7cfc04
recipient's locale does not use an
Packit 7cfc04
.IR LC_CTYPE
Packit 7cfc04
equivalent to the sender's, the results are undefined.
Packit 7cfc04
.IP "\fILC_MESSAGES\fP" 10
Packit 7cfc04
.br
Packit 7cfc04
Determine the locale that should be used to affect the format and
Packit 7cfc04
contents of diagnostic messages written to standard error and
Packit 7cfc04
informative messages written to standard output.
Packit 7cfc04
.IP "\fINLSPATH\fP" 10
Packit 7cfc04
Determine the location of message catalogs for the processing of
Packit 7cfc04
.IR LC_MESSAGES .
Packit 7cfc04
.IP "\fITERM\fP" 10
Packit 7cfc04
Determine the name of the invoker's terminal type. If this variable is
Packit 7cfc04
unset or null, an unspecified default terminal type shall be used.
Packit 7cfc04
.SH "ASYNCHRONOUS EVENTS"
Packit 7cfc04
When the
Packit 7cfc04
.IR talk
Packit 7cfc04
utility receives a SIGINT signal, the utility shall terminate and exit
Packit 7cfc04
with a zero status. It shall take the standard action for all other
Packit 7cfc04
signals.
Packit 7cfc04
.SH STDOUT
Packit 7cfc04
If standard output is a terminal, characters copied from the
Packit 7cfc04
recipient's standard input may be written to standard output. Standard
Packit 7cfc04
output also may be used for diagnostic messages. If standard output is
Packit 7cfc04
not a terminal,
Packit 7cfc04
.IR talk
Packit 7cfc04
shall exit with a non-zero status.
Packit 7cfc04
.SH STDERR
Packit 7cfc04
None.
Packit 7cfc04
.SH "OUTPUT FILES"
Packit 7cfc04
None.
Packit 7cfc04
.SH "EXTENDED DESCRIPTION"
Packit 7cfc04
None.
Packit 7cfc04
.SH "EXIT STATUS"
Packit 7cfc04
The following exit values shall be returned:
Packit 7cfc04
.IP "\00" 6
Packit 7cfc04
Successful completion.
Packit 7cfc04
.IP >0 6
Packit 7cfc04
An error occurred or
Packit 7cfc04
.IR talk
Packit 7cfc04
was invoked on a terminal incapable of supporting it.
Packit 7cfc04
.SH "CONSEQUENCES OF ERRORS"
Packit 7cfc04
Default.
Packit 7cfc04
.LP
Packit 7cfc04
.IR "The following sections are informative."
Packit 7cfc04
.SH "APPLICATION USAGE"
Packit 7cfc04
Because the handling of non-printable, non-\c
Packit 7cfc04
<space>
Packit 7cfc04
characters is tied to the
Packit 7cfc04
.IR stty
Packit 7cfc04
description of
Packit 7cfc04
.BR iexten ,
Packit 7cfc04
implementation extensions within the terminal driver can be accessed.
Packit 7cfc04
For example, some implementations provide line editing functions with
Packit 7cfc04
certain control character sequences.
Packit 7cfc04
.SH EXAMPLES
Packit 7cfc04
None.
Packit 7cfc04
.SH RATIONALE
Packit 7cfc04
The
Packit 7cfc04
.IR write
Packit 7cfc04
utility was included in this volume of POSIX.1\(hy2008 since it can be implemented on all
Packit 7cfc04
terminal types. The
Packit 7cfc04
.IR talk
Packit 7cfc04
utility, which cannot be implemented on certain terminals, was
Packit 7cfc04
considered to be a ``better'' communications interface. Both of these
Packit 7cfc04
programs are in widespread use on historical implementations.
Packit 7cfc04
Therefore, both utilities have been specified.
Packit 7cfc04
.P
Packit 7cfc04
All references to networking abilities (\fItalk\fPing to a user on
Packit 7cfc04
another system) were removed as being outside the scope of this volume of POSIX.1\(hy2008.
Packit 7cfc04
.P
Packit 7cfc04
Historical BSD and System V versions of
Packit 7cfc04
.IR talk
Packit 7cfc04
terminate both of the conversations when either user breaks out of the
Packit 7cfc04
session. This can lead to adverse consequences if a user unwittingly
Packit 7cfc04
continues to enter text that is interpreted by the shell when the other
Packit 7cfc04
terminates the session. Therefore, the version of
Packit 7cfc04
.IR talk
Packit 7cfc04
specified by this volume of POSIX.1\(hy2008 requires both users to terminate their end of the
Packit 7cfc04
session explicitly.
Packit 7cfc04
.P
Packit 7cfc04
Only messages sent to the terminal of the invoking user can be
Packit 7cfc04
internationalized in any way:
Packit 7cfc04
.IP " *" 4
Packit 7cfc04
The original ``Message from <\fIunspecified string\fP> .\|.\|.''
Packit 7cfc04
message sent to the terminal of the recipient cannot be
Packit 7cfc04
internationalized because the environment of the recipient is as yet
Packit 7cfc04
inaccessible to the
Packit 7cfc04
.IR talk
Packit 7cfc04
utility. The environment of the invoking party is irrelevant.
Packit 7cfc04
.IP " *" 4
Packit 7cfc04
Subsequent communication between the two parties cannot be
Packit 7cfc04
internationalized because the two parties may specify different
Packit 7cfc04
languages in their environment (and non-portable characters cannot be
Packit 7cfc04
mapped from one language to another).
Packit 7cfc04
.IP " *" 4
Packit 7cfc04
Neither party can be required to communicate in a language other than C
Packit 7cfc04
and/or the one specified by their environment because unavailable
Packit 7cfc04
terminal hardware support (for example, fonts) may be required.
Packit 7cfc04
.P
Packit 7cfc04
The text in the STDOUT section reflects the usage of the verb
Packit 7cfc04
``display'' in this section; some
Packit 7cfc04
.IR talk
Packit 7cfc04
implementations actually use standard output to write to the terminal,
Packit 7cfc04
but this volume of POSIX.1\(hy2008 does not require that to be the case.
Packit 7cfc04
.P
Packit 7cfc04
The format of the terminal name is unspecified, but the descriptions of
Packit 7cfc04
.IR ps ,
Packit 7cfc04
.IR talk ,
Packit 7cfc04
.IR who ,
Packit 7cfc04
and
Packit 7cfc04
.IR write
Packit 7cfc04
require that they all use or accept the same format.
Packit 7cfc04
.P
Packit 7cfc04
The handling of non-printable characters is partially
Packit 7cfc04
implementation-defined
Packit 7cfc04
because the details of mapping them to printable sequences is not
Packit 7cfc04
needed by the user. Historical implementations, for security reasons,
Packit 7cfc04
disallow the transmission of non-printable characters that may send
Packit 7cfc04
commands to the other terminal.
Packit 7cfc04
.SH "FUTURE DIRECTIONS"
Packit 7cfc04
None.
Packit 7cfc04
.SH "SEE ALSO"
Packit 7cfc04
.IR "\fImesg\fR\^",
Packit 7cfc04
.IR "\fIstty\fR\^",
Packit 7cfc04
.IR "\fIwho\fR\^",
Packit 7cfc04
.IR "\fIwrite\fR\^"
Packit 7cfc04
.P
Packit 7cfc04
The Base Definitions volume of POSIX.1\(hy2008,
Packit 7cfc04
.IR "Chapter 8" ", " "Environment Variables",
Packit 7cfc04
.IR "Chapter 11" ", " "General Terminal Interface"
Packit 7cfc04
.SH COPYRIGHT
Packit 7cfc04
Portions of this text are reprinted and reproduced in electronic form
Packit 7cfc04
from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology
Packit 7cfc04
-- Portable Operating System Interface (POSIX), The Open Group Base
Packit 7cfc04
Specifications Issue 7, Copyright (C) 2013 by the Institute of
Packit 7cfc04
Electrical and Electronics Engineers, Inc and The Open Group.
Packit 7cfc04
(This is POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.) In the
Packit 7cfc04
event of any discrepancy between this version and the original IEEE and
Packit 7cfc04
The Open Group Standard, the original IEEE and The Open Group Standard
Packit 7cfc04
is the referee document. The original Standard can be obtained online at
Packit 7cfc04
http://www.unix.org/online.html .
Packit 7cfc04
Packit 7cfc04
Any typographical or formatting errors that appear
Packit 7cfc04
in this page are most likely
Packit 7cfc04
to have been introduced during the conversion of the source files to
Packit 7cfc04
man page format. To report such errors, see
Packit 7cfc04
https://www.kernel.org/doc/man-pages/reporting_bugs.html .