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