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
12 talk - talk to another user
13
15 talk address [terminal]
16
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_addresstalk: respond with: talk your_address
25
26 to the specified address. At this point, the recipient of the message
27 can reply by typing:
28
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 IEEE Std 1003.1-2001, Chapter 11, General Ter‐
44 minal 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 one
48 side, the other side of the talk session shall be notified that the
49 talk session has been terminated and shall be able to do nothing
50 except exit.
51
52 * Typing characters from LC_CTYPE classifications print or space shall
53 cause those characters to be sent to the recipient's terminal.
54
55 * When and only when the stty iexten local mode is enabled, the exis‐
56 tence and processing of additional special control characters and
57 multi-byte or single-byte functions shall be implementation-defined.
58
59 * Typing other non-printable characters shall cause implementation-
60 defined sequences of printable characters to be sent to the recipi‐
61 ent's terminal.
62
63 Permission to be a recipient of a talk message can be denied or granted
64 by use of the mesg utility. However, a user's privilege may further
65 constrain the domain of accessibility of other users' terminals. The
66 talk utility shall fail when the user lacks the appropriate privileges
67 to perform the requested action.
68
69 Certain block-mode terminals do not have all the capabilities necessary
70 to support the simultaneous exchange of messages required for talk.
71 When this type of exchange cannot be supported on such terminals, the
72 implementation may support an exchange with reduced levels of simulta‐
73 neous interaction or it may report an error describing the terminal-
74 related deficiency.
75
77 None.
78
80 The following operands shall be supported:
81
82 address
83 The recipient of the talk session. One form of address is the
84 <user name>, as returned by the who utility. Other address for‐
85 mats and how they are handled are unspecified.
86
87 terminal
88 If the recipient is logged in more than once, the terminal argu‐
89 ment can be used to indicate the appropriate terminal name. If
90 terminal is not specified, the talk message shall be displayed
91 on one or more accessible terminals in use by the recipient. The
92 format of terminal shall be the same as that returned by the who
93 utility.
94
95
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
102 None.
103
105 The following environment variables shall affect the execution of talk:
106
107 LANG Provide a default value for the internationalization variables
108 that are unset or null. (See the Base Definitions volume of
109 IEEE Std 1003.1-2001, Section 8.2, Internationalization Vari‐
110 ables for the precedence of internationalization variables used
111 to determine the values of locale categories.)
112
113 LC_ALL If set to a non-empty string value, override the values of all
114 the other internationalization variables.
115
116 LC_CTYPE
117 Determine the locale for the interpretation of sequences of
118 bytes of text data as characters (for example, single-byte as
119 opposed to multi-byte characters in arguments and input files).
120 If the recipient's locale does not use an LC_CTYPE equivalent to
121 the sender's, the results are undefined.
122
123 LC_MESSAGES
124 Determine the locale that should be used to affect the format
125 and contents of diagnostic messages written to standard error
126 and informative messages written to standard output.
127
128 NLSPATH
129 Determine the location of message catalogs for the processing of
130 LC_MESSAGES .
131
132 TERM Determine the name of the invoker's terminal type. If this vari‐
133 able is unset or null, an unspecified default terminal type
134 shall be used.
135
136
138 When the talk utility receives a SIGINT signal, the utility shall ter‐
139 minate and exit with a zero status. It shall take the standard action
140 for all other signals.
141
143 If standard output is a terminal, characters copied from the recipi‐
144 ent's standard input may be written to standard output. Standard out‐
145 put also may be used for diagnostic messages. If standard output is not
146 a terminal, talk shall exit with a non-zero status.
147
149 None.
150
152 None.
153
155 None.
156
158 The following exit values shall be returned:
159
160 0 Successful completion.
161
162 >0 An error occurred or talk was invoked on a terminal incapable of
163 supporting it.
164
165
167 Default.
168
169 The following sections are informative.
170
172 Because the handling of non-printable, non- <space>s is tied to the
173 stty description of iexten, implementation extensions within the termi‐
174 nal driver can be accessed. For example, some implementations provide
175 line editing functions with certain control character sequences.
176
178 None.
179
181 The write utility was included in this volume of IEEE Std 1003.1-2001
182 since it can be implemented on all terminal types. The talk utility,
183 which cannot be implemented on certain terminals, was considered to be
184 a "better" communications interface. Both of these programs are in
185 widespread use on historical implementations. Therefore, both utili‐
186 ties have been specified.
187
188 All references to networking abilities (talking to a user on another
189 system) were removed as being outside the scope of this volume of
190 IEEE Std 1003.1-2001.
191
192 Historical BSD and System V versions of talk terminate both of the con‐
193 versations when either user breaks out of the session. This can lead to
194 adverse consequences if a user unwittingly continues to enter text that
195 is interpreted by the shell when the other terminates the session.
196 Therefore, the version of talk specified by this volume of
197 IEEE Std 1003.1-2001 requires both users to terminate their end of the
198 session explicitly.
199
200 Only messages sent to the terminal of the invoking user can be interna‐
201 tionalized in any way:
202
203 * The original "Message from <unspecified string> ..." message sent to
204 the terminal of the recipient cannot be internationalized because
205 the environment of the recipient is as yet inaccessible to the talk
206 utility. The environment of the invoking party is irrelevant.
207
208 * Subsequent communication between the two parties cannot be interna‐
209 tionalized because the two parties may specify different languages
210 in their environment (and non-portable characters cannot be mapped
211 from one language to another).
212
213 * Neither party can be required to communicate in a language other
214 than C and/or the one specified by their environment because
215 unavailable terminal hardware support (for example, fonts) may be
216 required.
217
218 The text in the STDOUT section reflects the usage of the verb "display"
219 in this section; some talk implementations actually use standard output
220 to write to the terminal, but this volume of IEEE Std 1003.1-2001 does
221 not require that to be the case.
222
223 The format of the terminal name is unspecified, but the descriptions of
224 ps, talk, who, and write require that they all use or accept the same
225 format.
226
227 The handling of non-printable characters is partially implementation-
228 defined because the details of mapping them to printable sequences is
229 not needed by the user. Historical implementations, for security rea‐
230 sons, disallow the transmission of non-printable characters that may
231 send commands to the other terminal.
232
234 None.
235
237 mesg, stty, who, write, the Base Definitions volume of
238 IEEE Std 1003.1-2001, Chapter 11, General Terminal Interface
239
241 Portions of this text are reprinted and reproduced in electronic form
242 from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
243 -- Portable Operating System Interface (POSIX), The Open Group Base
244 Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
245 Electrical and Electronics Engineers, Inc and The Open Group. In the
246 event of any discrepancy between this version and the original IEEE and
247 The Open Group Standard, the original IEEE and The Open Group Standard
248 is the referee document. The original Standard can be obtained online
249 at http://www.opengroup.org/unix/online.html .
250
251
252
253IEEE/The Open Group 2003 TALK(1P)