通过 TCP/IP 连接两个 TTY

通过 TCP/IP 连接两个 TTY

我有两台运行 Debian 并通过以太网连接的计算机。它们可以互相看到。我需要以这种方式在这台计算机上连接两个虚拟终端:我在第一个终端中输入的任何内容都将打印在另一个终端中,反之亦然。我阅读了有关socatutil 的信息,但问题是我可能没有足够的规则来安装socat。还有其他更简单且可能不会强迫我安装任何东西的方法吗?

答案1

据我所知,使用 Linux 中的默认工具无法完成此操作,应该下载下面提到的工具之一。

如果您获得了安装工具的相关权限,那么您可以通过安装tmux或来执行此操作screen,但我相信tmux这是更好的选择,因为它具有更多的功能。

基本上是这样的,假设你有两台机器,分别称为 box1 和 box2:

  1. 在 box1 上,通过发出以下命令启动 tmux 会话:tmux new-session -s shared
  2. 从 box2 ssh 到 box1 并运行以下命令:tmux attachment-session -t shared
  3. 开始工作,在 box1 的 tmux 中写入的所有内容也将同时写入 box2 的 tmux 中,反之亦然。

为了安装 tmux 或 screen,请运行:

sudo apt-get install tmux screen -y

更多信息请见这里

答案2

答案3

假设您没有这些盒子的 root 访问权限,并且您不想以普通用户的身份安装任何东西,您可能想要mesg直接使用并向终端发送消息,例如:

  • 确保已启用消息功能 jacek@server1:~$ mesg is n jacek@server1:~$ mesg y jacek@server1:~$ mesg is y
  • 注意你的 tty 或 pty jacek@server1:~$ tty /dev/pts/9
  • 来自 server2: jacek@server2:~$ echo "This is a message" | ssh jacek@server1 'cat - > /dev/pts/9' 这是您将在 server1 的 pts9 上获得的内容: jacek@server1:~$ This is a message

您也可以反过来做同样的事情,从 server2 到 server1。who -wT还会显示哪些终端当前可写入。第二列中带有“-”的终端表示没有消息传递权限。“+”表示您可以向该终端发送消息。 jacek@server1:~$ who -wT jacek + tty7 2016-08-17 20:22 jacek - pts/0 2016-08-25 13:15 (:0.0) jacek + pts/1 2016-08-26 21:23 (:0.0)

如果您实际上可以安装任何类型的软件,此线程中也有一些建议:https://unix.stackexchange.com/questions/72320/how-can-i-hook-on-to-one-terminals-output-from-another-terminal

答案4

perl 脚本ttylog可能就是您要找的。希望您的机器已安装 perl,您可以直接运行此脚本,而无需实际“安装”任何东西。

Unix&Linux Stack Exchange 上的这个答案这也许能解决你的问题。

我不会在这里重复答案,因为它已经在 StackExchange 网络中了。

相关内容