![“xterm”和“屏幕”有何关系?](https://linux22.com/image/39015/%E2%80%9Cxterm%E2%80%9D%E5%92%8C%E2%80%9C%E5%B1%8F%E5%B9%95%E2%80%9D%E6%9C%89%E4%BD%95%E5%85%B3%E7%B3%BB%EF%BC%9F.png)
我不太确定 screen 和 xterm 之间是否存在任何细微或广泛的差异。我以前使用过 screen 并将其描述为有点像多路复用器,并且尝试过 xterm 几次。谁能解释一下两者之间的区别以及两者的优缺点?
答案1
你没有看到实际终端一切都不再那么频繁了,但例如 Linux 文本控制台 ( CTRL+) ALT+F1至F6被视为终端。
xterm 是一个终端仿真器适用于运行 x-window 系统和图形用户界面的系统。它仅提供单个终端,通常运行单个进程(默认情况下是交互式 shell)。Konsole
同样,还有Gnome Terminal
稍微更先进的 GUI 终端仿真器。
您可以screen
从终端或终端模拟器(如 xterm 或 PuTTY)中运行。在该单个终端窗口屏幕中,功能类似于窗口管理器来运行多个虚拟终端。
答案2
从以下角度来看有什么相似之处之间 xterm
和 screen
:
两者都是仿真真实的硬件设备“终端”,就像这个 VT100:
xterm
模仿一个终端将其显示为 GUI窗户在屏幕上screen
模仿多个终端,但实际上并不模拟输出部分 - 它的行为就像一个程序本身需要一个终端展示 - 但是只有一个!
他们解决不同的, 但有关的问题 - 并且可以组合起来解决更复杂的用例:
例如,我们可以运行两个程序,每个程序都需要一个终端,
并screen
假装它们每个都有一个终端,
而 screen 只需要一个终端。
然后我们可以 - 而不是真正使用终端 -
使用xterm
来模拟终端,显示 的输出screen
,
这显示了两个程序的输出。
请注意,有一些终端模拟器,例如terminator
xterm
,实现和的功能screen
同时- 当用作回答这个问题的基础时,这当然会完全令人困惑。更多的终端模拟器支持多个终端作为一个窗口中的选项卡,包括常见的gnome-terminal
和konsole
答案3
它们是根本不同的。我认为主要区别是:屏幕允许您分离会话并稍后从不同的位置重新附加它。
例如,您的 xterm 中可能正在运行一些重要的进程,但不幸的是您的显示器坏了,您无法再使用您的计算机。
如果该进程运行,screen
您现在可以“ssh”进入您的计算机,从不可用的 xterm 中分离“屏幕”并将其重新连接到您的 ssh 连接。
另一种情况是在远程计算机上运行的进程。如果没有 screen,如果您需要断开 ssh 连接,则很难恢复该过程,而使用 screen 则很容易。