共计 1860 个字符,预计需要花费 5 分钟才能阅读完成。
GNU Screen 是一个终端多路复用器,它容许在主终端中有多个终端会话。
那么为什么咱们须要 GNU Screen? 有时咱们可能会遇到一些问题,比方因为网络问题而主动终止近程 ssh 连贯。如果工作在生产环境中运行,可能会很苦楚。因而,为了解决这类问题,倡议独自的屏幕会话,它不会随着终端会话的完结而终止。
在 Linux 和 Unix 零碎中,有一种终端多路复用工具叫做 screen,它用于治理终端会话。在本文中,咱们将介绍在生产零碎中解决重要工作时如何在 Linux 中应用 GNU Screen 来治理终端会话。
装置 screen
在 Linux 零碎下装置屏幕包简单易行。一些古代操作系统预装了屏幕应用程序。运行以下命令验证屏幕的可用性。
$ screen --version
Screen version 4.08.00 (GNU) 05-Feb-20
如果取得其余输入,则阐明零碎上没有可用的屏幕工具。执行以下命令装置屏幕包。
Ubuntu/Debian
$ sudo apt-get install screen -y
RHEL/CentOS
$ sudo yum installs screen -y // RHEL 7 | |
$ sudo dnf install screen -y // RHEL 8 |
启动 screen
装置实现后,只需运行命令屏幕来启动屏幕会话。
$ screen
创立带有名称的 screen 会话
应用屏幕命令追随选项 -s,您能够创立一个命名的屏幕会话。在此示例中,我应用了屏幕 Linuxtechi 作为屏幕会话的名称。您能够抉择本人的名字。
$ screen -S screen-linuxtechi
查看 screen 命令参数
screen 提供了一些有用的参数和命令。要列出可用参数,请按 ctrl+a
,而后按 ?
查看 screen 会话
应用上面的命令列出可用的屏幕会话
$ screen -ls
拆散 screen 会话
screen 提供了一个有用个性,您能够拆散 screen 会话并在须要时从新附加。要拆散以后 screen 会话,请按 ctrl + a
,而后按 d
重连 screen 会话
应用选项 -r
能够重连拆散的 screen 会话。应用命令 screen -ls 列出已拆散的会话,找到屏幕会话名称并重连。在这个例子中,我曾经重连了会话 25148.pts-0.LinuxTechi
$ screen -ls | |
$ screen -r 25148.pts-0.LinuxTechi |
也能够应用屏幕 id 或名称重连会话。在下面的示例中,25148 是 id,pts-0.LinuxTechi 是名称。
$ screen -r 25148 | |
$ screen -r pts-0.LinuxTechi |
拆分 screen 窗口
有时,您可能须要将屏幕窗口拆分为多个屏幕来执行多个工作。
垂直拆分
要垂直宰割 Linux 屏幕窗口,请按 ctrl + a
而后按 |
,通过反复雷同的过程,能够宰割 n 个屏幕窗口。
程度拆分
要程度宰割 Linux 屏幕窗口,请按 ctrl + a
而后按 S
(大写),通过反复雷同的过程,能够宰割 n 个屏幕窗口。
在决裂 screen 会话中创立新的终端
无论您是程度宰割屏幕还是垂直宰割屏幕,都不会创立任何新的终端。要在屏幕中创立新的终端,须要先应用 ctrl + a
和 tab
切换到新的分屏屏幕窗口。而后按 ctrl + a
和 c
(小写) 创立一个终端。
撤销宰割的 screen 窗口
要撤销已宰割的屏幕窗口,应用 ctrl + a
和 Q
键
锁定 screen 会话
为了避免未经受权的拜访,能够锁定屏幕会话,而不锁定失常会话用户。要锁定屏幕终端,应用命令 ctrl + a
和 x
(小写),零碎将提醒您设置明码、利用爱护明码,仅此而已。
找到 screen 会话的所有者
屏幕会话存储在目录 /var/run/screen 中,列出目录中存储的内容以找到屏幕的所有者。
$ ls -ltr /var/run/screen
终止 screen 会话
当工作实现时,您能够应用 ctrl + a
和 k
命令销毁屏幕会话。零碎将提醒您进行用户确认,键入 y
以终止会话。
拜访 screen 帮忙页面
$ screen --help
或者应用 man 命令
$ man screen
一些有用的 screen 命令参数
ctrl + a
+c
=> 创立带有终端的新窗口ctrl + a
+?
=> 查看参数列表ctrl + a
+A
=> 重命名以后窗口ctrl + a
+tab
=> 切换到下一个窗口ctrl + a
+S
=> 程度拆分窗口ctrl + a
+|
=> 垂直拆分窗口ctrl + a
+d
=> 拆散 screenctrl + a
+k
=> 终结 screen
我的开源我的项目
- course-tencent-cloud(酷瓜云课堂 – gitee 仓库)
- course-tencent-cloud(酷瓜云课堂 – github 仓库)