- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
大家是否都遇到过这样的情况:在远程机器上执行一个长时间运行的任务,突然之间连接断开了,SSH会话被终止,正常运行的工作丢失了。幸运的是,有一个叫做screen
的实用工具,它能够帮助我们恢复会话。
引言
Screen或GNU Screen是一个终端复用器。换句话说,你可以开始一个screen会话,然后在该会话中打开任意数量的窗口(虚拟终端)。在Screen中运行的进程即使在它们的窗口不可见时也会继续运行,即使断开了连接。
安装Linux GNU Screen
screen包现在在大多数Linux发行版上都是预安装的。您可以通过输入以下命令来检查它是否安装在您的系统上:
screen --version
Screen version 4.06.02 (GNU) 23-Oct-17
如果您的系统上没有安装screen,您可以使用您的发行版的包管理器轻松安装它。
sudo apt update
sudo apt install screen
sudo yum install screen
启动Linux Screen
要开始一个screen会话,只需在控制台中输入screen
:
screen
这将打开一个screen会话,创建一个新窗口,并在该窗口中启动一个shell。
现在您已经打开了一个screen会话,您可以通过输入以下命令来获取命令列表:
Ctrl+a
?
命名会话在运行多个screen会话时非常有用。要创建一个命名会话,请使用以下参数运行screen命令:
screen -S session_name
选择一个描述性的会话名称总是一个好主意。
使用Linux Screen窗口
当您开始一个新的screen会话时,它会创建一个带有shell的单个窗口。
您可以在Screen会话中有多个窗口。
要创建一个带有shell的新窗口,请输入Ctrl+a
c
,将从范围0...9
中分配第一个可用的数字给它。
以下是一些管理Linux Screen窗口的最常见命令:
• 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 Screen会话分离
您可以随时通过输入以下命令从screen会话中分离:
Ctrl+a
d
在screen会话中运行的程序在您分离会话后将继续运行。
重新连接到Linux Screen
要恢复您的screen会话,请使用以下命令:
screen -r
如果您的机器上有多个screen会话正在运行,您需要在r
开关后附加screen会话ID。
要找到会话ID,请使用以下命令列出当前运行的screen会话:
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.
如果您想恢复screen 10835.pts-0,那么输入以下命令:
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 都是 Linux 环境下不可或缺的生产力工具。通过简单的配置优化,它还能变身个性化终端工作台。现在就掌握这门必备技能,让远程操作更稳定、更高效!
售前咨询
售后咨询
备案咨询
二维码
TOP