TALK(1) General Commands Manual TALK(1)

talktalk to another user

talk person [ttyname]

The talk utility is a visual communication program which copies lines from your terminal to that of another user.

Options available:

person
If you wish to talk to someone on your own machine, then person is just the person's login name. If you wish to talk to a user on another host, then person is of the form ‘user@host’ or ‘host!user’ or ‘host:user’.
ttyname
If you wish to talk to a user who is logged in more than once, the ttyname argument may be used to indicate the appropriate terminal name, where ttyname is of the form ‘ttyXX’.

When first called, talk sends the message

Message from TalkDaemon@his_machine...
talk: connection requested by your_name@your_machine.
talk: respond with: talk your_name@your_machine

to the user you wish to talk to. At this point, the recipient of the message should reply by typing

talk  your_name@your_machine

It does not matter from which machine the recipient replies, as long as his login-name is the same. Once communication is established, the two parties may type simultaneously, with their output appearing in separate windows. Typing control-L ‘^L’ will cause the screen to be reprinted. Typing control-D ‘^D’ will clear both parts of your screen to be cleared, while the control-D character will be sent to the remote side (and just displayed by this talk client). Your erase, kill, and word kill characters will behave normally. To exit, just type your interrupt character; talk then moves the cursor to the bottom of the screen and restores the terminal to its previous state.

Permission to talk may be denied or granted by use of the mesg(1) command. At the outset talking is allowed.

The talk utility relies on the talkd system daemon. See talkd(8) for information about enabling talkd.

/etc/hosts
to find the recipient's machine
/var/run/utmpx
to find the recipient's tty

mail(1), mesg(1), wall(1), who(1), write(1), talkd(8)

The talk command appeared in 4.2BSD.

In FreeBSD 5.3, the default behaviour of talk was changed to treat local-to-local talk requests as originating and terminating at . Before this change, it was required that the hostname (as per gethostname(3)) resolved to a valid IPv4 address (via gethostbyname(3)), making talk unsuitable for use in configurations where talkd(8) was bound to the loopback interface (normally for security reasons).

The version of talk released with 4.3BSD uses a protocol that is incompatible with the protocol used in the version released with 4.2BSD.

Multibyte characters are not recognized.

January 21, 2010 macOS 15.2