您是否曾经遇到过在远程计算机上执行长时间运行的任务,突然连接中断,SSH会话终止以及工作丢失的情况。好吧,这件事发生在我们所有人身上,不是吗?幸运的是,有一个名为screen的实用程序,使我们可以恢复会话。

简介

screen或GNU screen是终端多路复用器。换句话说,这意味着您可以启动screen会话,然后在该会话中打开任意数量的窗口(虚拟终端)。即使您已断开连接,在Screen中运行的进程也将继续运行,即使它们的窗口不可见。

安装Linux GNU screen

如今,大多数Linux发行版中都已预先安装了screen软件包。您可以通过键入以下内容来检查它是否已安装在系统上:

screen --version
Screen version 4.06.02 (GNU) 23-Oct-17

如果您的系统上未安装screen,则可以使用发行版的软件包管理器轻松安装它。

在Ubuntu和Debian上安装Linux screen

sudo apt install screen

在CentOS和Fedora上安装Linux screen

sudo yum install screen

启动Linux screen

要开始screen会话,只需在控制台中键入screen

screen

这将打开一个screen会话,创建一个新窗口,并在该窗口中启动外壳。

现在您已经打开了一个screen会话,您可以通过键入以下命令来获取命令列表:

Ctrl+a ?

开始命名会话

当您运行多个screen会话时,命名会话非常有用。要创建命名会话,请使用以下参数运行screen命令:

screen -S session_name

选择描述性会话名称始终是个好主意。

使用Linux screen Windows

当您开始新的screen会话时,它将创建一个带有外壳的单个窗口。

screen会话中可以有多个窗口。

要创建外壳类型为Ctrl+a c的新窗口,将为其分配范围0...9中的第一个可用数字。

以下是一些用于管理Linux screen Windows的最常用命令:

  • Ctrl+a c创建一个新窗口(带外壳)
  • Ctrl+a "列出所有窗口
  • Ctrl+a 0切换到窗口0(按数字)
  • Ctrl+a A重命名当前窗口
  • Ctrl+a S将当前区域水平分为两个区域
  • Ctrl+a |将当前区域垂直分割为两个区域
  • Ctrl+a tab将输入焦点切换到下一个区域
  • Ctrl+a Ctrl+a在当前区域和上一个区域之间切换]
  • Ctrl+a Q关闭当前区域以外的所有区域
  • Ctrl+a X关闭当前区域

从Linux screen会话中分离

您可以随时输入以下内容来脱离screen会话:

Ctrl+a d

从会话断开后,在screen会话中运行的程序将继续运行。

重新连接到Linux screen

要恢复screen会话,请使用以下命令:

screen -r

如果您的计算机上正在运行多个screen会话,则需要在r开关后附加屏幕会话ID。

要找到会话ID,请使用以下命令列出当前运行的screen会话:

screen -ls
There are screens on:
    10835.pts-0.myfreax-desktop   (Detached)
    10366.pts-0.myfreax-desktop   (Detached)
2 Sockets in /run/screens/S-myfreax.

如果要还原screen10835.pts,请键入以下命令:

screen -r 10835

自定义Linux screen

启动screen时,如果存在文件,它将从/etc/screenrc~/.screenrc中读取其配置参数。我们可以使用.screenrc文件根据喜好修改默认的screen设置。

以下是带有自定义状态行和一些其他选项的示例~/.screenrc配置:

〜/.screenrc

# Turn off the welcome message
startup_message off

# Disable visual bell
vbell off

# Set scrollback buffer to 10000
defscrollback 10000

# Customize the status line
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'

基本的Linux screen用法

以下是开始使用screen的最基本步骤:

  1. 在命令提示符下,键入screen
  2. 运行所需的程序。
  3. 使用键序列Ctrl-a + Ctrl-d从screen会话中分离。
  4. 通过输入screen -r来重新加入screen会话。

结论

在本教程中,您学习了如何使用Gnu Screen。现在,您可以开始使用screen实用程序,并通过单个会话创建多个screen窗口,在窗口之间导航,分离和恢复screen会话,并使用.screenrc文件个性化您的screen终端。

请访问 Screen用户手册页,了解有关Gnu screen的更多信息。

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持