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_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

OPTIONS

77       None.
78

OPERANDS

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

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

ASYNCHRONOUS EVENTS

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

STDOUT

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

STDERR

149       None.
150

OUTPUT FILES

152       None.
153

EXTENDED DESCRIPTION

155       None.
156

EXIT STATUS

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

CONSEQUENCES OF ERRORS

167       Default.
168
169       The following sections are informative.
170

APPLICATION USAGE

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

EXAMPLES

178       None.
179

RATIONALE

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

FUTURE DIRECTIONS

234       None.
235

SEE ALSO

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