1TALK(P)                    POSIX Programmer's Manual                   TALK(P)
2
3
4

NAME

6       talk - talk to another user
7

SYNOPSIS

9       talk address [terminal]
10

DESCRIPTION

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

OPTIONS

71       None.
72

OPERANDS

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

STDIN

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

INPUT FILES

96       None.
97

ENVIRONMENT VARIABLES

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

ASYNCHRONOUS EVENTS

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

STDOUT

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

STDERR

143       None.
144

OUTPUT FILES

146       None.
147

EXTENDED DESCRIPTION

149       None.
150

EXIT STATUS

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

CONSEQUENCES OF ERRORS

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

APPLICATION USAGE

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

EXAMPLES

172       None.
173

RATIONALE

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

FUTURE DIRECTIONS

228       None.
229

SEE ALSO

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