“xterm”和“屏幕”有何关系?

“xterm”和“屏幕”有何关系?

我不太确定 screen 和 xterm 之间是否存在任何细微或广泛的差异。我以前使用过 screen 并将其描述为有点像多路复用器,并且尝试过 xterm 几次。谁能解释一下两者之间的区别以及两者的优缺点?

答案1

你没有看到实际终端一切都不再那么频繁了,但例如 Linux 文本控制台 ( CTRL+) ALT+F1F6被视为终端。

xterm 是一个终端仿真器适用于运行 x-window 系统和图形用户界面的系统。它仅提供单个终端,通常运行单个进程(默认情况下是交互式 shell)。Konsole同样,还有Gnome Terminal稍微更先进的 GUI 终端仿真器。

您可以screen从终端或终端模拟器(如 xterm 或 PuTTY)中运行。在该单个终端窗口屏幕中,功能类似于窗口管理器来运行多个虚拟终端。

答案2

从以下角度来看有什么相似之处之间 xterm screen:

两者都是仿真真实的硬件设备“终端”,就像这个 VT100:

VT100
VT100 - 维基共享资源

  • xterm模仿一个终端将其显示为 GUI窗户在屏幕上

  • screen模仿多个终端,但实际上并不模拟输出部分 - 它的行为就像一个程序本身需要一个终端展示 - 但是只有一个

他们解决不同的, 但有关的问题 - 并且可以组合起来解决更复杂的用例:


例如,我们可以运行两个程序,每个程序都需要一个终端,
screen假装它们每个都有一个终端,
而 screen 只需要一个终端。
然后我们可以 - 而不是真正使用终端 -
使用xterm来模拟终端,显示 的输出screen
这显示了两个程序的输出。

请注意,有一些终端模拟器,例如terminatorxterm,实现和的功能screen 同时- 当用作回答这个问题的基础时,这当然会完全令人困惑。更多的终端模拟器支持多个终端作为一个窗口中的选项卡,包括常见的gnome-terminalkonsole

答案3

它们是根本不同的。我认为主要区别是:屏幕允许您分离会话并稍后从不同的位置重新附加它。

例如,您的 xterm 中可能正在运行一些重要的进程,但不幸的是您的显示器坏了,您无法再使用您的计算机。

如果该进程运行,screen您现在可以“ssh”进入您的计算机,从不可用的 xterm 中分离“屏幕”并将其重新连接到您的 ssh 连接。

另一种情况是在远程计算机上运行的进程。如果没有 screen,如果您需要断开 ssh 连接,则很难恢复该过程,而使用 screen 则很容易。

相关内容