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