talkd 不打印消息

Kri*_*itz 5 users terminal chat

我想和我哥哥谈谈(我们都有 Debian Jessie)。所以我安装inetutils-inetdinetutils-talkinetutils-talkd。现在我想试试它是否有效。所以我创建了一个名为 foo 的 testuser。然后我以这个用户和我的原始用户身份登录。我将mesg两个终端都打开为是,然后在我的原始用户上尝试了这个:

$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]
Run Code Online (Sandbox Code Playgroud)

并且 foo 永远不会收到联机帮助页中描述的消息。我还检查了inetd正在运行talkd并由inetd. 这是其中唯一/etc/inetd.conf没有取消注释的行。:

talk    stream  tcp nowait  root    /usr/sbin/talkd talkd
Run Code Online (Sandbox Code Playgroud)

我还尝试让两个用户尝试相互交谈,但这也不起作用。

有谁知道我如何才能上班?

der*_*ert 3

我已经很久没有跑步talkd(或者说实际上ytalk,如果我没记错的话)。我发现有一件事似乎是错误的\xe2\x80\x94talk 是一个UDP协议。

\n\n

所以你的inetd.conf线路是错误的。花了一些时间才找到正确的行,但根据Debian 管理员手册,它是:

\n\n
talk   dgram  udp wait    nobody.tty /usr/sbin/in.talkd in.talkd\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果您运行了防火墙,则还必须允许流量通过。例如:

\n\n
iptables -I INPUT -p udp --dport talk -j ACCEPT\n
Run Code Online (Sandbox Code Playgroud)\n\n

talk如果您的防火墙配置程序不采用该名称,则为端口 517。

\n