I wanted to use talk with my brother (we both have Debian Jessie). So I installed inetutils-inetd, inetutils-talk, and inetutils-talkd. Now I wanted to try whether it works. So I created a testuser named foo. Then I logged in as this user and as my original user. I switched mesg on both terminals to yes and then tried this on my originals user:

$talk foo
[Service connection established.]
[Checking for invitation on caller's machine]
[Checking for invitation on caller's machine]
[Checking for invitation on caller's machine]
[Checking for invitation on caller's machine]
[Checking for invitation on caller's machine]
[Checking for invitation on caller's machine]

And foo never gets a message like it is described in the manpage. I also checked that inetd is running and enabled talkd by inetd. Here's the only line in /etc/inetd.conf that isn't uncommented.:

talk    stream  tcp nowait  root    /usr/sbin/talkd talkd

I also tried to let both users try to talk to each other, but that didn't work either.

Does anyone know how I can get talk to work?

  • I remember that the package was called "ntalk", not "talk". Only the client command was "talk". Oct 23, 2013 at 15:08
  • As i know the server command is talkd and is contained in inetutils-talk. I checked that it is at /usr/sbin/talkd. The description of the package inetutils-talk also says that it contains the server.
    – Kritzefitz
    Oct 23, 2013 at 15:13
  • @MirceaVutcovici there are (were?) multiple talk implementations; ntalk is/was one of them. There is/was also ytalk.
    – derobert
    Oct 23, 2013 at 15:17
  • Also this SF Q&A might be what you're looking for: serverfault.com/questions/166858/help-configuring-talk-talkd/…
    – slm
    Oct 23, 2013 at 15:36
  • unfortunately this didn't help either.
    – Kritzefitz
    Oct 23, 2013 at 16:43

2 Answers 2


It's been a long time since I ran talkd (or actually ytalk, if I remember correctly). There is one thing I see that seems wrong—talk is a UDP protocol.

So your inetd.conf line is wrong. It took a bit to dig up the right line, but according to The Debian Administrator's Handbook, it is:

talk   dgram  udp wait    nobody.tty /usr/sbin/in.talkd in.talkd

If you have a firewall running, you'll have to let through the traffic as well. For example:

iptables -I INPUT -p udp --dport talk -j ACCEPT

talk is port 517 if your firewall config program won't take the name.

  • I changed the line to yours, except that the last two fields still point to talkd not to in.talkd. That's because i don't have in.talkd and it's contained in the talkd-package which would uninstall the GNU versions of talk but i think it should work with the GNU version. I don't have a firewall running.
    – Kritzefitz
    Oct 23, 2013 at 15:45
  • @IchUndNichtDu its possible its using the ntalk port, try that one as well. (And I assume you reloaded inetd after changing from TCP to UDP?)
    – derobert
    Oct 23, 2013 at 15:47
  • Sorry, now i can't follow anymore. What do you mean with ntalk port? Where do i specify it?
    – Kritzefitz
    Oct 23, 2013 at 16:33
  • Ah now i got it what ntalk is. That leads me to the next problem. The open-bsd version (talkd) contains in.ntalkd and in.talkd but the GNU version (inetutils-talkd) only contains talkd so ntalkd is missing.
    – Kritzefitz
    Oct 23, 2013 at 18:52
  • @IchUndNichtDu Sorry, was AFK for a bit. You specify the port in /etc/inetd.conf (and then must reload inetd after each change). But it sounds like you got a different talk program to work... so I guess it doesn't matter.
    – derobert
    Oct 23, 2013 at 19:21

I now just switched to talk from open-bsd. I will continue trying to get the GNU version running and will edit this question when i did it. Thanks for all the help.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .