我有两台运行 Debian 并通过以太网连接的计算机。它们可以互相看到。我需要以这种方式在这台计算机上连接两个虚拟终端:我在第一个终端中输入的任何内容都将打印在另一个终端中,反之亦然。我阅读了有关socat
util 的信息,但问题是我可能没有足够的规则来安装socat
。还有其他更简单且可能不会强迫我安装任何东西的方法吗?
答案1
据我所知,使用 Linux 中的默认工具无法完成此操作,应该下载下面提到的工具之一。
如果您获得了安装工具的相关权限,那么您可以通过安装tmux
或来执行此操作screen
,但我相信tmux
这是更好的选择,因为它具有更多的功能。
基本上是这样的,假设你有两台机器,分别称为 box1 和 box2:
- 在 box1 上,通过发出以下命令启动 tmux 会话:tmux new-session -s shared
- 从 box2 ssh 到 box1 并运行以下命令:tmux attachment-session -t shared
- 开始工作,在 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 网络中了。