如何将一个终端的标准输出镜像到另一个终端?

chr*_*ode 5 terminal mirror

我不确定我是否正确地表达了这个问题,但假设我打开了两个虚拟终端,如果我输入ls其中一个,我会在它们两个中获得目录的内容(第二个)一个不必是可写的,它只需要显示第一个的标准输出)。我将如何实现这一目标?

kwa*_*ick 9

正如提到的 geekosaurscreen会做你需要的(以及更多)。

首先,为方便起见,在您的第一个终端中创建一个命名的屏幕会话:

$ screen -S foo
Run Code Online (Sandbox Code Playgroud)

其次,附加到第二个终端中的屏幕会话:

$ screen -x foo
Run Code Online (Sandbox Code Playgroud)


phe*_*mer 5

您可以使用它script来执行此操作。

例如,如果您想将所有输出复制到/dev/tty1您将运行

script -f /dev/tty1
Run Code Online (Sandbox Code Playgroud)

从那时起,您键入的任何内容,所有命令输出都将复制到/dev/tty1.
script启动另一个 shell,所以当你完成后,你可以输入exitend script

-f是为了使其实时。Othewise/dev/tty1只会在显示完整行时看到输出(当将换行符写入 tty 时)。