Copyright 1989 AT&T
Copyright (c) 2000, Sun Microsystems, Inc. All Rights Reserved
Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved
Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at
http://www.opengroup.org/bookstore/.
The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.
This notice shall appear on any product containing this material.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
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 TalkDaemon@ her_machine at time .\|.\|. 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:
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 stty iexten 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, `\e003' is displayed as `^C' and `\e372' 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.
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!user host.user host:user user@hostalthough 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.
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.
The following exit values are returned:
0
Successful completion.
>0
An error occurred, or talk was invoked on a terminal incapable of supporting it.
host name database
user and accounting information for talk
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Standard |
mail(1), mesg(1), pr(1), stty(1), who(1), write(1), termios(3C), attributes(5), environ(5), standards(5)
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.