Solved talk(1) on 15.1-RELEASE doesn't work

Short version​


talk(1) from one user to another only displays [No connection yet] and [Checking for invitation on caller's machine] in the caller's terminal, nothing happens in the callee's terminal.

talkd(8) is probably not running, and I don't know how to start it.

Long version​


I was exploring the man pages and discovered wall(1), write(1), talk(1). All of these utililities can send messages to another user's terminal. I added 2 users alice and bob to test them. wall(1) and write(1) worked fine, but talk(1) didn't work.

For wall(1), I executed echo "Hello, Bob!" | wall -g bob from alice, then got the message from bob:

Code:
Broadcast Message from alice@test-vm
        (/dev/pts/1) at 12:54 CST...

Hello, Bob!

For write(1), I executed write bob from alice, typed Hello, Bob! then hit Ctrl-D. I got the message from bob as well:

Code:
Message from alice@test-vm on pts/1 at 13:11 ...
Hello, Bob!
EOF

For talk(1), I executed talk bob from alice, I got:

Code:
[No connection yet]
[Checking for invitation on caller's machine]
[Checking for invitation on caller's machine]

and nothing happened on bob's terminal.

Additional information​


The environment was setup in VirtualBox on a Windows machine using the FreeBSD-15.1-RELEASE-amd64-ufs.vhd.xz VM image. uname -a shows:

Code:
FreeBSD test-vm 15.1-RELEASE FreeBSD 15.1-RELEASE releng/15.1-n283562-96841ea08dcf GENERIC amd64

I ssh logined to both alice and bob from Windows to do the experiments above.

mesg shows is y for both alice and bob, and who -T shows:

Code:
bob              + pts/0        Jul 19 10:36 (10.0.2.2)
alice            + pts/1        Jul 19 10:36 (10.0.2.2)

Also I found talkd(8) (the server of talk(1)). I guess it's becuase this daemon is not running, but the man page doesn't say how to start it.

Not sure if anyone still use talk(1) these days, just out of curiosity and want to know how to use talk(1) properly. Any help would be appreciated.
 
Also I found talkd(8) (the server of talk(1)). I guess it's becuase this daemon is not running, but the man page doesn't say how to start it.
Try to uncomment the ntalk line in inetd.conf(5):
Code:
# ntalk is required for the 'talk' utility to work correctly
ntalk    dgram    udp    wait    tty:tty    /usr/libexec/ntalkd    ntalkd

Then either add
Code:
inetd_enable="YES"
in your rc.conf(5), if you want it to be started on boot, or, if you just want to try it out, do once (as root):
Code:
service inetd onestart

After that you should be able to talk(1).
 
Back
Top