许多人不了解 screen,这是一个出色的小工具,或者“终端多路复用器”(如果您想了解技术)。我坚信每个使用该终端的人,无论出于何种原因,都应该将它放在他们的武器库中。它是那有用。
Screen 使终端中的多任务处理变得非常容易。有了它,您可以并行运行许多工具,每个工具都在其会话中。在自己的“屏幕”中运行某些内容后,您可以随意分离并重新附加到它。能够“让事情在独立的会话中运行”允许您在工具之间跳转。
如果您每天在终端中处理大量任务,那么您要么已经在使用它,要么在尝试后您会爱上它!
安装画面
Screen 几乎适用于世界上的每一个发行版——因为它是一个古老的、经过考验的、尽管有些不为人知的小宝藏。要在 Debian、Ubuntu、Mint 或任何使用 apt 的设备上安装它,请使用:
sudo apt install screen只需几秒钟,您就可以启动并运行,因为它也很小并且没有太多依赖项。

第一节
我们只会深入研究 screen 的基本功能,以便您可以立即使用它。如果您喜欢本教程末尾所看到的内容,它的手册页解释了额外的功能,但我们认为对于其使用的第一次介绍来说它们太多了。
要使用它,只需将其添加到您在终端中输入的任何内容的前面即可。让我们在流行的 Nano 编辑器中创建一个文档作为示例。如果它尚未安装,可以在您的发行版上使用,或者如果您喜欢其他东西,请将“nano”替换为您的选择。
screen nano mte_screen.txt通过在常用命令前面添加“screen”,我们在 screen 的会话之一中运行它。它可能看起来没有任何结果,但正如我们将在下一步中看到的,它确实有。

从会话中分离
在 nano 中输入一些内容并按下控制键+一个进而D在你的键盘上。 Nano º 或您使用的任何编辑器 - 将消失。在终端中,您将看到类似以下内容的消息:
[detached from terminal-ID]现在您回到了之前运行 screen 的起始终端。但你与 Nano 的交流并没有消失。

返回正在运行的会话
由于您有一个会话在后台运行,因此您可以通过输入以下命令返回该会话:
screen -r按 Enter 键后,您将回到 Nano 中上次离开的位置。您可以根据需要多次分离和重新连接屏幕。但这只是一个在后台运行的应用程序,距离真正的多任务处理还很远。

创建第二个会话
返回原始终端并与正在运行的 Nano 会话分离时,重复第一步以在第二个会话中运行某些内容。为了简单起见,我们使用 nano 创建了第二个文档:
screen nano mte_2nd.txt不过,Screen 并不限于运行同一应用程序的多个会话:尝试用它运行任何东西。屏幕在用于类似的事情时证明了它的有用性使用 7z 将许多文件压缩到一个存档中,这个过程需要一些时间。您可以分离其会话并让它在后台运行,而不是盯着终端等待 7z 完成。

会话列表
如果您按照我们之前的步骤操作,那么您现在有两个使用 screen 运行的会话。screen -r不会像以前那样工作,因为它不知道附加到哪里。当您有多个会话时,要返回其中一个会话,您首先必须知道其 ID。要找到它,请输入:
screen -list屏幕将显示所有可用会话的列表。

在我们的例子中,正如您在屏幕截图中看到的,要返回任一会话,我们必须输入:
screen -r 14384或者
screen -r 14336如果您运行一个在 screen 完成后退出的任务,则 screen 会话将随之结束。这就是为什么您可以在屏幕会话中运行一些任务,但现在没有显示活动会话。这些任务本来可以同时完成其目标。
如果您希望会话在这种情况下保持活动状态,而不是运行命令screen在其之前添加,单独运行“screen”以创建一个新会话,然后在分离之前在其中键入命令。如果您在手动创建的会话中运行命令,则任务完成后该会话不会退出。
Screen 还允许您从现有会话中创建新会话。只需按下命令组合即可控制键+一个,然后按C创建一个新屏幕并跳转到它。
对于您最终可能会使用的其他有用命令,请按控制键+一个进而:
- 一个输入会话的标题以便于识别和管理
- K终止当前会话
- 氮或者磷移至下一个或上一个活动会话
- 0到9在前十个活动会话之间移动
不仅仅是为了杂耍任务
我们把最好的留到最后:屏幕没有绑定到特定的终端。与会话分离后,如果您处于图形环境中,则可以关闭终端窗口,甚至可以注销。只要您的计算机正在运行,会话就会保持活动状态。

这意味着您可以从不同的终端重新连接到正在运行的会话。正如您在屏幕截图中看到的,我们使用 Guake 重新附加到我们在 Mint 默认终端中创建的会话。
由于这一点的含义可能还没有被充分理解,请考虑以下使用场景:您可以使用 SSH 远程登录到您的计算机,并使用屏幕启动任务。然后,分离并注销。该作业将继续运行,直到完成或您决定重新登录、重新连接到屏幕会话并手动结束它!
“多任务处理”怎么样?






