The Single UNIX ® Specification, Version 2
Copyright © 1997 The Open Group


talk - talk to another user


talk address [terminal]


The talk utility is a two-way, screen-oriented communication program.

When first invoked, talk sends a message similar to:

Message from <unspecified string>
talk: connection requested by your_address
talk: respond with: talk your_address

to the specified address. At this point, the recipient of the message can reply by typing:

talk  your_address

Once communication is established, the two parties can type simultaneously, with their output displayed in separate regions of the screen. Characters are processed as follows:

Permission to be a recipient of a talk message can be denied or granted by use of the mesg utility. However, a user's privilege may further constrain the domain of accessibility of other users' terminals. The talk utility will fail when the user lacks the appropriate privileges to perform the requested action.

Certain block-mode terminals do not have all the capabilities necessary to support the simultaneous exchange of messages required for talk. When this type of exchange cannot be supported on such terminals, the implementation may support an exchange with reduced levels of simultaneous interaction or it may report an error describing the terminal-related deficiency.




The following operands are supported:
The recipient of the talk session. One form of address is the <user name>, as returned by the who utility. Other address formats and how they are handled are unspecified.
If the recipient is logged in more than once, the terminal argument can be used to indicate the appropriate terminal name. If terminal is not specified, the talk message will be displayed on one or more accessible terminals in use by the recipient. The format of terminal will be the same as that returned by the who utility.


Characters read from standard input will be copied to the recipient's terminal in an unspecified manner. If standard input is not a terminal, talk will write a diagnostic message and exit with a non-zero status.




The following environment variables affect the execution of talk:
Provide a default value for the internationalisation variables that are unset or null. If LANG is unset or null, the corresponding value from the implementation-dependent default locale will be used. If any of the internationalisation variables contains an invalid setting, the utility will behave as if none of the variables had been defined.
If set to a non-empty string value, override the values of all the other internationalisation variables.
Determine the locale for the interpretation of sequences of bytes of text data as characters (for example, single- as opposed to multi-byte characters in arguments and input files). If the recipient's locale does not use an LC_CTYPE equivalent to the sender's, the results are undefined.
Determine the locale that should be used to affect the format and contents of diagnostic messages written to standard error and informative messages written to standard output.
Determine the location of message catalogues for the processing of LC_MESSAGES .
Determine the name of the invoker's terminal type. If this variable is unset or null, an unspecified default terminal type will be used.


When the talk utility receives a SIGINT signal, the utility will terminate and exit with a zero status. It will take the standard action for all other signals.


If standard output is a terminal, characters copied from the recipient's standard input may be written to standard output. Standard output also may be used for diagnostic messages. If standard output is not a terminal, talk will exit with a non-zero status.








The following exit values are returned:
Successful completion.
An error occurred or talk was invoked on a terminal incapable of supporting it.




Because the handling of non-printable, non-space characters is tied to the stty description of iexten, implementation extensions within the terminal driver can be accessed. For example, some implementations provide line editing functions with certain control character sequences.






mesg, who, write, the XBD specification, General Terminal Interface  .

UNIX ® is a registered Trademark of The Open Group.
Copyright © 1997 The Open Group
[ Main Index | XSH | XCU | XBD | XCURSES | XNS ]