在Linux系统中,screen 是一个强大的终端复用工具,它允许用户在一个终端会话中创建多个虚拟终端,并能在断开连接后恢复会话,非常适合长时间运行的任务(如下载、编译、脚本执行等),本文将详细介绍如何在Linux系统中安装screen,包括不同发行版的安装方法、基本使用及进阶技巧。

安装screen前的准备
在安装screen之前,建议确保系统已连接互联网,并且具有管理员权限(sudo或root),不同Linux发行版的包管理器不同,安装命令略有差异,以下是主流发行版的安装步骤。
不同Linux发行版的安装方法
以下是常见Linux发行版(基于Debian/Ubuntu、CentOS/RHEL、Arch Linux)的screen安装命令,可通过表格对比查看:
| 发行版系列 | 包管理器 | 安装命令 |
|---|---|---|
| Debian/Ubuntu | apt | sudo apt update && sudo apt install screen |
| CentOS/RHEL 7 | yum | sudo yum install screen |
| CentOS/RHEL 8+ | dnf | sudo dnf install screen |
| Arch Linux | pacman | sudo pacman -S screen |
| Fedora | dnf | sudo dnf install screen |
| openSUSE | zypper | sudo zypper install screen |
安装步骤说明(以Ubuntu为例):
-
更新软件包列表:
sudo apt update
该命令会同步系统的软件包索引,确保获取最新的安装源信息。
-
安装screen:
sudo apt install screen
根据提示输入
Y确认安装,等待包管理器自动下载并安装screen及其依赖项。
验证安装:
安装完成后,可通过以下命令检查screen版本是否正确安装:
screen -v
若输出类似Screen version 4.08.01 (GNU 1.8.3) 2-May-2024的信息,则表示安装成功。
screen的基本使用方法
安装screen后,掌握其基本操作才能发挥工具价值,以下是核心功能的使用步骤:

创建新会话
启动screen并创建一个新会话,可通过以下命令:
screen -S session_name
其中session_name为自定义会话名(如download、compile),若不指定,会话名默认为数字(如pts/0)。
执行后,会进入一个新的终端界面,与普通终端无异,但所有操作均在该screen会话中。
分离会话
当需要临时断开会话(如SSH断开或关闭终端)时,可“分离”会话而非关闭,确保后台任务继续运行,操作方法:
- 在
screen会话中,按下Ctrl + A组合键,再按D(大写)。 - 终端会提示
[detached from XXXXX],表示会话已成功分离至后台。
列出所有会话
若需查看当前系统中的screen会话列表,可执行:
screen -ls
输出示例:
There are screens on:
12345.download (Detached)
67890.pts/0 (Detached)
2 Sockets in /var/run/screen/S-username.
其中download为会话ID和名称,(Detached)表示会话处于分离状态。
重新连接会话
分离会话后,可通过以下方法恢复:
- 通过会话名连接:
screen -r session_name
- 通过会话ID连接:
screen -r 12345
若会话已分离且只有一个,可直接执行
screen -r自动连接。
终止会话
若会话中的任务已完成或无需保留,可终止会话:

- 从外部终止会话:
screen -X -S session_name quit
- 从内部终止会话:
在screen会话中,按下Ctrl + A,再按,输入quit并回车。
screen的进阶技巧
多窗口操作
screen支持在一个会话中创建多个虚拟窗口,方便多任务切换:
- 创建新窗口:
Ctrl + A→C(大写,即create)。 - 切换窗口:
Ctrl + A→N(下一个窗口)或P(上一个窗口),或直接按Ctrl + A→窗口编号(如0、1)。 - 查看窗口列表:
Ctrl + A→ (显示窗口名称和编号)。 - 重命名窗口:
Ctrl + A→A(输入自定义名称)。
会话共享与权限
screen支持多用户连接同一会话(需配置权限),适合团队协作:
- 设置会话权限:创建会话后,执行
chmod 777 /var/run/screen/S-username/会话ID。 - 其他用户连接:通过
screen -x username/会话名加入会话,所有用户操作同步显示。
配置文件定制
通过修改~/.screenrc文件(若不存在需手动创建),可自定义screen的行为,
# 设置默认窗口数量
defscrollback 10000
# 启用自动detach
autodetach on栏显示
hardstatus alwayslastline "%{= kw}%-w%{= kR} %n %t %{-}%+w %= %{= kG} %H %=%{= kb} %l %{-}"
# 设置默认窗口名"$ |bash"
保存后重启screen即可生效。
相关问答FAQs
Q1:screen和tmux有什么区别?如何选择?
A:screen和tmux均为终端复用工具,核心功能相似,但存在以下区别:
- 会话管理:
screen的会话依赖系统进程,若终端异常关闭,会话可能残留;tmux采用客户端-服务器架构,会话更稳定,支持自动恢复。 - 功能丰富度:
tmux支持更灵活的窗口分割(垂直/水平)、自定义快捷键、插件系统(如tmuxinator),适合重度用户;screen轻量级,资源占用更低,适合简单任务。 - 兼容性:
screen历史更悠久,在旧系统上兼容性更好;tmux为现代工具,默认集成在多数新发行版中。
选择建议:若需要轻量级、简单操作,选screen;若需要高级功能(如分割窗口、插件),选tmux。
Q2:screen会话意外断开后如何恢复?
A:若screen会话因SSH断开或终端崩溃意外终止,可通过以下步骤尝试恢复:
- 检查会话是否存在:执行
screen -ls,若有[detached]或[dead]状态的会话,说明会话残留。 - 尝试恢复:若会话为
[detached],直接用screen -r 会话名恢复;若为[dead],需先清理残留会话:screen -wipe # 清理所有死锁会话
然后重新创建会话。
- 强制恢复:若会话卡死,可用
screen -d -r 会话名强制分离并连接(谨慎使用,可能导致数据丢失)。
通过以上步骤,即可完成screen的安装、配置及使用,有效提升Linux终端操作效率。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/29552.html