我想知道如何在网络中的两台 ubuntu 机器之间进行聊天。
有很多信使,但我们被禁止使用那些发送文件的人。
网络上有适合 2 个 ubuntu 的命令行聊天工具吗?或者 GUI 也可以用。
答案1
我能想到的最简单的方法是使用 netcat
在您自己的机器上的一个终端上尝试此操作:
netcat 8080 -l
(这将是服务器,因为我们使用 -l 将其设置为监听模式)
在另一个终端:
netcat localhost 8080
(这将是连接到服务器的客户端)
尝试在其中一个窗口中输入。您可以为客户端/服务器选择任何端口,但特权端口(低于 1024)需要服务器上的 root 访问权限)
如果要通过网络尝试此操作,请将客户端上的 localhost 替换为要连接的服务器的 ip / dns 名称
答案2
可能不是您想要的,但您可以 ssh 到彼此机器上的有限帐户并使用 wall。
答案3
@tomodachinc -l -p 1234
建议使用 netcat。这是一个好主意,但简单的and的缺点nc ip.ad.dr.ess 1234
是正在输入的文本会被收到的消息覆盖。请注意,我说的“netcat”是指传统的“瑞士军刀”netcat,而不是 BSD netcat。netcat-traditional
默认情况下未安装,因此请安装。然后,您可能需要使用 更改默认的 netcat 程序sudo update-alternatives --config netcat
。
netcat 的基本原理是打开一个可以接收单个 TCP 连接的端口。收到数据后,会将其打印到标准输出。标准输入会发送到另一端。在终端中,标准输入和标准输出通常显示在一个终端中,这使得数据可能混淆。例如,当您开始输入“hello”时,如果同时收到一条消息,即使您实际发送的是“hello”,终端也可能显示“helMESSAGElo”。
通过分割打开两个终端选项卡并水平分割视图,您可以在一个窗口中同时显示两个不同的 shell。
- 打开另一个标签页( Ctrl++ShiftT或文件>新标签)
- 拆分标签。在 Konsole (KDE) 中,可以在看法>拆分视图菜单,水平分割视图。
- 在上面选项卡中运行
tty
,它会输出代表当前 shell 的文件名。下面,我假设此输出是/dev/pts/2
针对主机 Alice 的,/dev/pts/4
第二个人 Bob。必要时进行调整 - 确保显示两个不同的选项卡(如果尚未显示)。
- 我选择了下面的选项卡来输入要发送的文本,因此请关注该选项卡。
到目前为止,通信双方需要执行的步骤都是相同的。现在,情况略有不同。
作为“服务器”或“主机”,开始监听 1234 端口(根据自己的喜好调整):
cat /dev/pts/2 | nc -l -p 1234 > /dev/pts/2
另一个人“Bob”应该通过端口 1234 连接到您的 IP(下面的 10.2.3.4)。
cat /dev/pts/4 | nc 10.2.3.4 1234 > /dev/pts/4
- 通信可以开始了!输入您的消息,然后按Enter。要中止会话,您只需关闭选项卡或窗口即可。或者,在命令窗口(下面的选项卡)中按Ctrl+ 。C
主机和接收方的屏幕截图:
答案4
使用 Bonjour。它也被称为 Link-Local XMPP。它受到 Telepathy/Empathy 和其他程序(如 Pidgin)的支持。其他程序确实需要在客户端中启用它,但不需要任何服务器或类似的东西。它的工作方式与普通 XMPP 相同,因此您也可以发送文件、使用网络摄像头等。
在 Ubuntu 中,这被称为“附近的人”。您可以像添加其他 IM 帐户一样添加它,其工作方式也相同。