如何在网络中的两台 ubuntu 机器之间聊天?

如何在网络中的两台 ubuntu 机器之间聊天?

我想知道如何在网络中的两台 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。

  1. 打开另一个标签页( Ctrl++ShiftT文件>新标签
  2. 拆分标签。在 Konsole (KDE) 中,可以在看法>拆分视图菜单,水平分割视图
  3. 在上面选项卡中运行tty,它会输出代表当前 shell 的文件名。下面,我假设此输出是/dev/pts/2针对主机 Alice 的,/dev/pts/4第二个人 Bob。必要时进行调整
  4. 确保显示两个不同的选项卡(如果尚未显示)。
  5. 我选择了下面的选项卡来输入要发送的文本,因此请关注该选项卡。

到目前为止,通信双方需要执行的步骤都是相同的。现在,情况略有不同。

  1. 作为“服务器”或“主机”,开始监听 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
    
  2. 通信可以开始了!输入您的消息,然后按Enter。要中止会话,您只需关闭选项卡或窗口即可。或者,在命令窗口(下面的选项卡)中按Ctrl+ 。C

主机和接收方的屏幕截图:

爱丽丝 鲍勃

答案4

使用 Bonjour。它也被称为 Link-Local XMPP。它受到 Telepathy/Empathy 和其他程序(如 Pidgin)的支持。其他程序确实需要在客户端中启用它,但不需要任何服务器或类似的东西。它的工作方式与普通 XMPP 相同,因此您也可以发送文件、使用网络摄像头等。

在 Ubuntu 中,这被称为“附近的人”。您可以像添加其他 IM 帐户一样添加它,其工作方式也相同。

相关内容