Kri*_*itz 5 users terminal chat
我想和我哥哥谈谈(我们都有 Debian Jessie)。所以我安装inetutils-inetd
,inetutils-talk
和inetutils-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)
我还尝试让两个用户尝试相互交谈,但这也不起作用。
有谁知道我如何才能上班?
我已经很久没有跑步了talkd
(或者说实际上ytalk
,如果我没记错的话)。我发现有一件事似乎是错误的\xe2\x80\x94talk 是一个UDP协议。
所以你的inetd.conf
线路是错误的。花了一些时间才找到正确的行,但根据Debian 管理员手册,它是:
talk dgram udp wait nobody.tty /usr/sbin/in.talkd in.talkd\n
Run Code Online (Sandbox Code Playgroud)\n\n如果您运行了防火墙,则还必须允许流量通过。例如:
\n\niptables -I INPUT -p udp --dport talk -j ACCEPT\n
Run Code Online (Sandbox Code Playgroud)\n\ntalk
如果您的防火墙配置程序不采用该名称,则为端口 517。