1TALK(1P) POSIX Programmer's Manual TALK(1P)
2
3
4
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
11
13 talk — talk to another user
14
16 talk address [terminal]
17
19 The talk utility is a two-way, screen-oriented communication program.
20
21 When first invoked, talk shall send a message similar to:
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 talk your_address
31
32 Once communication is established, the two parties can type simultane‐
33 ously, with their output displayed in separate regions of the screen.
34 Characters shall be processed as follows:
35
36 * Typing the <alert> character shall alert the recipient's terminal.
37
38 * Typing <control>‐L shall cause the sender's screen regions to be
39 refreshed.
40
41 * Typing the erase and kill characters shall affect the sender's ter‐
42 minal in the manner described by the termios interface in the Base
43 Definitions volume of POSIX.1‐2008, Chapter 11, General Terminal
44 Interface.
45
46 * Typing the interrupt or end-of-file characters shall terminate the
47 local talk utility. Once the talk session has been terminated on
48 one side, the other side of the talk session shall be notified that
49 the talk session has been terminated and shall be able to do noth‐
50 ing except exit.
51
52 * Typing characters from LC_CTYPE classifications print or space
53 shall cause those characters to be sent to the recipient's termi‐
54 nal.
55
56 * When and only when the stty iexten local mode is enabled, the exis‐
57 tence and processing of additional special control characters and
58 multi-byte or single-byte functions shall be implementation-
59 defined.
60
61 * Typing other non-printable characters shall cause implementation-
62 defined sequences of printable characters to be sent to the recipi‐
63 ent's terminal.
64
65 Permission to be a recipient of a talk message can be denied or granted
66 by use of the mesg utility. However, a user's privilege may further
67 constrain the domain of accessibility of other users' terminals. The
68 talk utility shall fail when the user lacks appropriate privileges to
69 perform the requested action.
70
71 Certain block-mode terminals do not have all the capabilities necessary
72 to support the simultaneous exchange of messages required for talk.
73 When this type of exchange cannot be supported on such terminals, the
74 implementation may support an exchange with reduced levels of simulta‐
75 neous interaction or it may report an error describing the terminal-
76 related deficiency.
77
79 None.
80
82 The following operands shall be supported:
83
84 address The recipient of the talk session. One form of address is the
85 <user name>, as returned by the who utility. Other address
86 formats and how they are handled are unspecified.
87
88 terminal If the recipient is logged in more than once, the terminal
89 argument can be used to indicate the appropriate terminal
90 name. If terminal is not specified, the talk message shall be
91 displayed on one or more accessible terminals in use by the
92 recipient. The format of terminal shall be the same as that
93 returned by the who utility.
94
96 Characters read from standard input shall be copied to the recipient's
97 terminal in an unspecified manner. If standard input is not a terminal,
98 talk shall write a diagnostic message and exit with a non-zero status.
99
101 None.
102
104 The following environment variables shall affect the execution of talk:
105
106 LANG Provide a default value for the internationalization vari‐
107 ables that are unset or null. (See the Base Definitions vol‐
108 ume of POSIX.1‐2008, Section 8.2, Internationalization Vari‐
109 ables for the precedence of internationalization variables
110 used to determine the values of locale categories.)
111
112 LC_ALL If set to a non-empty string value, override the values of
113 all the other internationalization variables.
114
115 LC_CTYPE Determine the locale for the interpretation of sequences of
116 bytes of text data as characters (for example, single-byte as
117 opposed to multi-byte characters in arguments and input
118 files). If the recipient's locale does not use an LC_CTYPE
119 equivalent to the sender's, the results are undefined.
120
121 LC_MESSAGES
122 Determine the locale that should be used to affect the format
123 and contents of diagnostic messages written to standard error
124 and informative messages written to standard output.
125
126 NLSPATH Determine the location of message catalogs for the processing
127 of LC_MESSAGES.
128
129 TERM Determine the name of the invoker's terminal type. If this
130 variable is unset or null, an unspecified default terminal
131 type shall be used.
132
134 When the talk utility receives a SIGINT signal, the utility shall ter‐
135 minate and exit with a zero status. It shall take the standard action
136 for all other signals.
137
139 If standard output is a terminal, characters copied from the recipi‐
140 ent's standard input may be written to standard output. Standard output
141 also may be used for diagnostic messages. If standard output is not a
142 terminal, talk shall exit with a non-zero status.
143
145 None.
146
148 None.
149
151 None.
152
154 The following exit values shall be returned:
155
156 0 Successful completion.
157
158 >0 An error occurred or talk was invoked on a terminal incapable of
159 supporting it.
160
162 Default.
163
164 The following sections are informative.
165
167 Because the handling of non-printable, non-<space> characters is tied
168 to the stty description of iexten, implementation extensions within the
169 terminal driver can be accessed. For example, some implementations
170 provide line editing functions with certain control character
171 sequences.
172
174 None.
175
177 The write utility was included in this volume of POSIX.1‐2008 since it
178 can be implemented on all terminal types. The talk utility, which can‐
179 not be implemented on certain terminals, was considered to be a ``bet‐
180 ter'' communications interface. Both of these programs are in wide‐
181 spread use on historical implementations. Therefore, both utilities
182 have been specified.
183
184 All references to networking abilities (talking to a user on another
185 system) were removed as being outside the scope of this volume of
186 POSIX.1‐2008.
187
188 Historical BSD and System V versions of talk terminate both of the con‐
189 versations when either user breaks out of the session. This can lead to
190 adverse consequences if a user unwittingly continues to enter text that
191 is interpreted by the shell when the other terminates the session.
192 Therefore, the version of talk specified by this volume of POSIX.1‐2008
193 requires both users to terminate their end of the session explicitly.
194
195 Only messages sent to the terminal of the invoking user can be interna‐
196 tionalized in any way:
197
198 * The original ``Message from <unspecified string> ...'' message
199 sent to the terminal of the recipient cannot be internationalized
200 because the environment of the recipient is as yet inaccessible to
201 the talk utility. The environment of the invoking party is irrele‐
202 vant.
203
204 * Subsequent communication between the two parties cannot be interna‐
205 tionalized because the two parties may specify different languages
206 in their environment (and non-portable characters cannot be mapped
207 from one language to another).
208
209 * Neither party can be required to communicate in a language other
210 than C and/or the one specified by their environment because
211 unavailable terminal hardware support (for example, fonts) may be
212 required.
213
214 The text in the STDOUT section reflects the usage of the verb ``dis‐
215 play'' in this section; some talk implementations actually use standard
216 output to write to the terminal, but this volume of POSIX.1‐2008 does
217 not require that to be the case.
218
219 The format of the terminal name is unspecified, but the descriptions of
220 ps, talk, who, and write require that they all use or accept the same
221 format.
222
223 The handling of non-printable characters is partially implementation-
224 defined because the details of mapping them to printable sequences is
225 not needed by the user. Historical implementations, for security rea‐
226 sons, disallow the transmission of non-printable characters that may
227 send commands to the other terminal.
228
230 None.
231
233 mesg, stty, who, write
234
235 The Base Definitions volume of POSIX.1‐2008, Chapter 8, Environment
236 Variables, Chapter 11, General Terminal Interface
237
239 Portions of this text are reprinted and reproduced in electronic form
240 from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology
241 -- Portable Operating System Interface (POSIX), The Open Group Base
242 Specifications Issue 7, Copyright (C) 2013 by the Institute of Electri‐
243 cal and Electronics Engineers, Inc and The Open Group. (This is
244 POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.) 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.unix.org/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 2013 TALK(1P)