“xterm”和“屏幕”有什么关系?

rye*_*ayo 3 gnu-screen terminal xterm

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

HBr*_*ijn 9

您不再经常看到实际的终端,但例如 ( CTRL+) ALT+ F1through上的 Linux 文本控制台F6被视为终端。

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

您可以screen在终端或终端模拟器(如 xterm 或 PuTTY)中运行。在那个单一的终端窗口中,屏幕的功能就像一个窗口管理器来运行多个虚拟终端。


Vol*_*gel 7

从的角度来看什么是类似之间 xterm screen

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

VT100
VT100 - 维基共享资源

  • xterm模拟一个终端,将其显示为屏幕上的 GUI窗口

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

它们解决了不同相关的问题——并且可以结合起来解决更复杂的用例:


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

请注意,有一些终端仿真器一样terminator,实现的功能xterm,并screen 在同一时间-这当然会被全部用作基地时混乱的回答这个问题。更多终端仿真器支持多个终端作为一个窗口中的选项卡,包括通用gnome-terminalkonsole


Fab*_*ian 6

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

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

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

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