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:

Typing the alert character will alert the recipient's terminal.

Typing Control-L will cause the sender's screen regions to be refreshed.

Typing the erase and kill characters will affect the sender's terminal in the manner described by the termios(3C) interface.

Typing the interrupt or end-of-file (EOF) characters will terminate the local talk utility. Once the talk session has been terminated on one side, the other side of the talk session will be notified that the talk session has been terminated and will be able to do nothing except exit.

Typing characters from LC_CTYPE classifications print or space will cause those characters to be sent to the recipient's terminal.

When and only when the sttyiexten local mode is enabled, additional special control characters and multi-byte or single-byte characters are processed as printable characters if their wide character equivalents are printable.

Typing other non-printable characters will cause them to be written to the recipient's terminal as follows: control characters will appear as a caret ( ^ ) followed by the appropriate ASCII character, and characters with the high-order bit set will appear in “meta” notation. For example, `\003' is displayed as `^C' and `\372' as `M-z'.

Permission to be a recipient of a talk message can be denied
or granted by use of the mesg(1) utility. However, a user's privilege
may further constrain the domain of accessibility of other users' terminals. Certain commands,
such as pr(1), disallow messages in order to prevent interference with their output.
talk 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.

Operands

The following operands are supported:

address

The recipient of the talk session. One form of address is the username, as returned by the who(1) utility. If you wish to talk to someone on your own machine, then username is just the person's login name. If you wish to talk to a user on another host, then username is one of the following forms:

host!userhost.userhost:useruser@host

although user@host is perhaps preferred.

terminal

If the recipient is logged in more than once, terminal 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 who.

Environment Variables

See environ(5) for descriptions of the following environment variables that affect the
execution of talk: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH.

TERM

Determine the name of the invoker's terminal type. If this variable is unset or null, an unspecified terminal type will be used.

Exit Status

The following exit values are returned:

0

Successful completion.

>0

An error occurred, or talk was invoked on a terminal incapable of supporting it.

See Also

Notes

Typing Control-L redraws the screen, while the erase, kill, and word kill
characters will work in talk as normal. To exit, type an interrupt
character. talk then moves the cursor to the bottom of the screen
and restores the terminal to its previous state.