如何使用Linux的 Screen 命令

评论 0 浏览 0 2018-06-11

你有没有遇到过这样的情况:你在远程机器上执行一个长期运行的任务,突然你的连接中断了,SSH会话被终止了,你的工作也丢失了。好吧,这已经发生在我们所有人身上的某个时刻,不是吗?幸运的是,有一个叫做screen的工具,允许我们恢复会话。

简介

Screen或GNU Screen是一个终端复用器。换句话说,它意味着你可以启动一个屏幕会话,然后在这个会话中打开任意数量的窗口(虚拟终端)。在屏幕中运行的进程在其窗口不可见时将继续运行,即使你被断开了连接。

安装Linux的GNU屏幕

现在大多数Linux发行版上都预装了屏幕包。你可以通过输入以下信息来检查它是否安装在你的系统上。

screen --version

输出

Screen version 4.06.02 (GNU) 23-Oct-17

如果你的系统上没有安装屏幕,你可以使用你的发行版的软件包管理器轻松地安装它。

在Ubuntu和Debian上安装linux屏幕

sudo apt updatesudo apt install screen

在CentOS和Fedora上安装linux屏幕

sudo yum install screen

启动Linux的屏幕

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

screen

这将打开一个屏幕会话,创建一个新的窗口,并在该窗口中启动一个shell。

现在你已经打开了一个屏幕会话,你可以通过键入来获得一个命令列表。

Ctrl+a ?

开始命名的会话

当你运行多个屏幕会话时,命名的会话很有用。要创建一个命名的会话,请用以下参数运行screen命令。

screen -S session_name

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

在Linux屏幕上工作的Windows

当你开始一个新的屏幕会话时,它会创建一个单一的窗口,里面有一个外壳。

你可以在一个 "屏幕 "会话中拥有多个窗口。

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

下面是一些管理Linux屏幕Windows的最常见的命令。

  • Ctrl+a c 创建一个新的窗口(用shell)。
  • 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屏幕会话中分离出来

你可以在任何时候通过打字从屏幕会话中脱离。

Ctrl+a d

在屏幕会话中运行的程序,在你脱离会话后将继续运行。

重新连接到一个Linux屏幕上

要恢复你的屏幕会话,请使用下面的命令。

screen -r

如果你的机器上有多个屏幕会话在运行,你需要在r开关之后加上屏幕会话的ID。

要找到会话ID,要列出当前正在运行的屏幕会话,要用。

screen -ls

输出

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

如果你想恢复10835.pts-0屏幕,那么请键入以下命令。

screen -r 10835

自定义Linux的屏幕

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

下面是一个带有自定义状态行和一些额外选项的~/.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}]'
Gnu Screen Terminal

基本的Linux屏幕使用方法

以下是开始使用屏幕的最基本的步骤。

  1. 在命令提示符下,键入screen
  2. 运行所需的程序。
  3. 使用键序Ctrl-a+Ctrl-d来脱离屏幕会话。
  4. 通过键入screen -r重新连接到屏幕会话。

总结

在本教程中,你学会了如何使用Gnu Screen。现在你可以开始使用Screen工具,从一个会话中创建多个屏幕窗口,在窗口之间导航,分离和恢复屏幕会话,并使用.screenrc文件个性化你的屏幕终端。

Screen用户手册页面上有更多关于Gnu Screen的信息可以了解。

如果你有任何问题或反馈意见,请随时留言。

最后更新2022-11-15
0 个评论
标签