5

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?

Kritzefitz
  • 673
  • 3
  • 12
  • 22
  • I remember that the package was called "ntalk", not "talk". Only the client command was "talk". – Mircea Vutcovici Oct 23 '13 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 '13 at 15:13
  • @MirceaVutcovici there are (were?) multiple talk implementations; ntalk is/was one of them. There is/was also ytalk. – derobert Oct 23 '13 at 15:17
  • Also this SF Q&A might be what you're looking for: http://serverfault.com/questions/166858/help-configuring-talk-talkd/166907#166907 – slm Oct 23 '13 at 15:36
  • unfortunately this didn't help either. – Kritzefitz Oct 23 '13 at 16:43

2 Answers2

3

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.

derobert
  • 107,579
  • 20
  • 231
  • 279
  • 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 '13 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 '13 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 '13 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 '13 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 '13 at 19:21
  • The open-bsd version of talkd has a second binary called in.ntalkd. The GNU version doesn't have this, i think this is the source of the problem. Thanks for the remembrance, but i did restart after each change. – Kritzefitz Oct 23 '13 at 19:41
1

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.

Kritzefitz
  • 673
  • 3
  • 12
  • 22