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
11

NAME

13       talk — talk to another user
14

SYNOPSIS

16       talk address [terminal]
17

DESCRIPTION

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

OPTIONS

79       None.
80

OPERANDS

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

STDIN

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

INPUT FILES

101       None.
102

ENVIRONMENT VARIABLES

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

ASYNCHRONOUS EVENTS

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

STDOUT

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

STDERR

145       None.
146

OUTPUT FILES

148       None.
149

EXTENDED DESCRIPTION

151       None.
152

EXIT STATUS

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

CONSEQUENCES OF ERRORS

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

APPLICATION USAGE

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

EXAMPLES

174       None.
175

RATIONALE

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

FUTURE DIRECTIONS

230       None.
231

SEE ALSO

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)
Impressum