1TALK(1P)                   POSIX Programmer's Manual                  TALK(1P)
2
3
4

PROLOG

6       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
7       implementation of this interface may differ (consult the  corresponding
8       Linux  manual page for details of Linux behavior), or the interface may
9       not be implemented on Linux.
10

NAME

12       talk — talk to another user
13

SYNOPSIS

15       talk address [terminal]
16

DESCRIPTION

18       The talk utility is a two-way, screen-oriented communication program.
19
20       When first invoked, talk shall send a message similar to:
21
22
23           Message from <unspecified string>
24           talk: connection requested by your_address
25           talk: respond with: talk your_address
26
27       to the specified address.  At this point, the recipient of the  message
28       can reply by typing:
29
30
31           talk your_address
32
33       Once  communication is established, the two parties can type simultane‐
34       ously, with their output displayed in separate regions of  the  screen.
35       Characters shall be processed as follows:
36
37        *  Typing the <alert> character shall alert the recipient's terminal.
38
39        *  Typing  <control>‐L  shall  cause the sender's screen regions to be
40           refreshed.
41
42        *  Typing the erase and kill characters shall affect the sender's ter‐
43           minal  in the manner described by the termios interface in the Base
44           Definitions volume of POSIX.1‐2017, Chapter  11,  General  Terminal
45           Interface.
46
47        *  Typing  the interrupt or end-of-file characters shall terminate the
48           local talk utility. Once the talk session has  been  terminated  on
49           one side, the other side of the talk session shall be notified that
50           the talk session has been terminated and shall be able to do  noth‐
51           ing except exit.
52
53        *  Typing  characters  from  LC_CTYPE  classifications  print or space
54           shall cause those characters to be sent to the  recipient's  termi‐
55           nal.
56
57        *  When and only when the stty iexten local mode is enabled, the exis‐
58           tence and processing of additional special control  characters  and
59           multi-byte   or  single-byte  functions  shall  be  implementation-
60           defined.
61
62        *  Typing other non-printable characters shall  cause  implementation-
63           defined sequences of printable characters to be sent to the recipi‐
64           ent's terminal.
65
66       Permission to be a recipient of a talk message can be denied or granted
67       by  use  of  the  mesg utility. However, a user's privilege may further
68       constrain the domain of accessibility of other  users'  terminals.  The
69       talk  utility  shall fail when the user lacks appropriate privileges to
70       perform the requested action.
71
72       Certain block-mode terminals do not have all the capabilities necessary
73       to  support  the  simultaneous  exchange of messages required for talk.
74       When this type of exchange cannot be supported on such  terminals,  the
75       implementation  may support an exchange with reduced levels of simulta‐
76       neous interaction or it may report an error  describing  the  terminal-
77       related deficiency.
78

OPTIONS

80       None.
81

OPERANDS

83       The following operands shall be supported:
84
85       address   The recipient of the talk session. One form of address is the
86                 <user name>, as returned by the who  utility.  Other  address
87                 formats and how they are handled are unspecified.
88
89       terminal  If  the  recipient  is logged in more than once, the terminal
90                 argument can be used to  indicate  the  appropriate  terminal
91                 name. If terminal is not specified, the talk message shall be
92                 displayed on one or more accessible terminals in use  by  the
93                 recipient.  The  format of terminal shall be the same as that
94                 returned by the who utility.
95

STDIN

97       Characters read from standard input shall be copied to the  recipient's
98       terminal in an unspecified manner. If standard input is not a terminal,
99       talk shall write a diagnostic message and exit with a non-zero status.
100

INPUT FILES

102       None.
103

ENVIRONMENT VARIABLES

105       The following environment variables shall affect the execution of talk:
106
107       LANG      Provide a default value for  the  internationalization  vari‐
108                 ables  that are unset or null. (See the Base Definitions vol‐
109                 ume of POSIX.1‐2017, Section 8.2, Internationalization  Vari‐
110                 ables  for  the  precedence of internationalization variables
111                 used to determine the values of locale categories.)
112
113       LC_ALL    If set to a non-empty string value, override  the  values  of
114                 all the other internationalization variables.
115
116       LC_CTYPE  Determine  the  locale for the interpretation of sequences of
117                 bytes of text data as characters (for example, single-byte as
118                 opposed  to  multi-byte  characters  in  arguments  and input
119                 files). If the recipient's locale does not  use  an  LC_CTYPE
120                 equivalent to the sender's, the results are undefined.
121
122       LC_MESSAGES
123                 Determine the locale that should be used to affect the format
124                 and contents of diagnostic messages written to standard error
125                 and informative messages written to standard output.
126
127       NLSPATH   Determine the location of message catalogs for the processing
128                 of LC_MESSAGES.
129
130       TERM      Determine the name of the invoker's terminal  type.  If  this
131                 variable  is  unset  or null, an unspecified default terminal
132                 type shall be used.
133

ASYNCHRONOUS EVENTS

135       When the talk utility receives a SIGINT signal, the utility shall  ter‐
136       minate  and  exit with a zero status. It shall take the standard action
137       for all other signals.
138

STDOUT

140       If standard output is a terminal, characters copied  from  the  recipi‐
141       ent's standard input may be written to standard output. Standard output
142       also may be used for diagnostic messages. If standard output is  not  a
143       terminal, talk shall exit with a non-zero status.
144

STDERR

146       None.
147

OUTPUT FILES

149       None.
150

EXTENDED DESCRIPTION

152       None.
153

EXIT STATUS

155       The following exit values shall be returned:
156
157        0    Successful completion.
158
159       >0    An  error occurred or talk was invoked on a terminal incapable of
160             supporting it.
161

CONSEQUENCES OF ERRORS

163       Default.
164
165       The following sections are informative.
166

APPLICATION USAGE

168       Because the handling of non-printable, non-<space> characters  is  tied
169       to the stty description of iexten, implementation extensions within the
170       terminal driver can be accessed.   For  example,  some  implementations
171       provide   line   editing   functions  with  certain  control  character
172       sequences.
173

EXAMPLES

175       None.
176

RATIONALE

178       The write utility was included in this volume of POSIX.1‐2017 since  it
179       can  be implemented on all terminal types. The talk utility, which can‐
180       not be implemented on certain terminals, was considered to be a  ``bet‐
181       ter''  communications  interface.  Both  of these programs are in wide‐
182       spread use on historical implementations.   Therefore,  both  utilities
183       have been specified.
184
185       All  references  to  networking abilities (talking to a user on another
186       system) were removed as being outside  the  scope  of  this  volume  of
187       POSIX.1‐2017.
188
189       Historical BSD and System V versions of talk terminate both of the con‐
190       versations when either user breaks out of the session. This can lead to
191       adverse consequences if a user unwittingly continues to enter text that
192       is interpreted by the shell when  the  other  terminates  the  session.
193       Therefore, the version of talk specified by this volume of POSIX.1‐2017
194       requires both users to terminate their end of the session explicitly.
195
196       Only messages sent to the terminal of the invoking user can be interna‐
197       tionalized in any way:
198
199        *  The  original  ``Message  from  <unspecified string> ...''  message
200           sent to the terminal of the recipient cannot  be  internationalized
201           because  the environment of the recipient is as yet inaccessible to
202           the talk utility. The environment of the invoking party is  irrele‐
203           vant.
204
205        *  Subsequent communication between the two parties cannot be interna‐
206           tionalized because the two parties may specify different  languages
207           in  their environment (and non-portable characters cannot be mapped
208           from one language to another).
209
210        *  Neither party can be required to communicate in  a  language  other
211           than  C  and/or  the  one  specified  by  their environment because
212           unavailable terminal hardware support (for example, fonts)  may  be
213           required.
214
215       The  text  in  the STDOUT section reflects the usage of the verb ``dis‐
216       play'' in this section; some talk implementations actually use standard
217       output  to  write to the terminal, but this volume of POSIX.1‐2017 does
218       not require that to be the case.
219
220       The format of the terminal name is unspecified, but the descriptions of
221       ps,  talk,  who, and write require that they all use or accept the same
222       format.
223
224       The handling of non-printable characters is  partially  implementation-
225       defined  because  the details of mapping them to printable sequences is
226       not needed by the user. Historical implementations, for  security  rea‐
227       sons,  disallow  the  transmission of non-printable characters that may
228       send commands to the other terminal.
229

FUTURE DIRECTIONS

231       None.
232

SEE ALSO

234       mesg, stty, who, write
235
236       The Base Definitions volume of  POSIX.1‐2017,  Chapter  8,  Environment
237       Variables, Chapter 11, General Terminal Interface
238
240       Portions  of  this text are reprinted and reproduced in electronic form
241       from IEEE Std 1003.1-2017, Standard for Information Technology --  Por‐
242       table  Operating System Interface (POSIX), The Open Group Base Specifi‐
243       cations Issue 7, 2018 Edition, Copyright (C) 2018 by the  Institute  of
244       Electrical  and  Electronics Engineers, Inc and The Open Group.  In the
245       event of any discrepancy between this version and the original IEEE and
246       The  Open Group Standard, the original IEEE and The Open Group Standard
247       is the referee document. The original Standard can be  obtained  online
248       at http://www.opengroup.org/unix/online.html .
249
250       Any  typographical  or  formatting  errors that appear in this page are
251       most likely to have been introduced during the conversion of the source
252       files  to  man page format. To report such errors, see https://www.ker
253       nel.org/doc/man-pages/reporting_bugs.html .
254
255
256
257IEEE/The Open Group                  2017                             TALK(1P)
Impressum