Linux 分屏工具 screen

本文介绍了Linux的screen工具,用于在命令行环境中保持任务运行,即使终端窗口关闭。通过screen,可以创建共享会话,允许在不同终端间同步查看和操作。当网络中断或窗口意外关闭时,screen会话中的任务仍能继续执行。此外,还演示了如何进行会话管理和使用上下分屏功能,增强终端多任务处理能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

screen 是一款由 GNU 开发的命令行终端工具,它提供了从多个终端窗口连接到同一个 shell 会话(会话共享)。当网络中断,或终端窗口意外关闭是,中 screen 中运行的程序任然可以运行(系统自带的终端窗口,当窗口意外关闭时,在该终端窗口中运行的程序也会终止。)。

安装 screen 工具

it@serverc:~$ sudo apt install screen -y

*  在 CentOS 中,你需要先安装 epel-release 才可以安装 screen( 在 CentOS 中安装软件使用 yum 或者 dnf )

会话共享

在 A 主机上创建一个名为 it 的 screen 会话

it@serverc:~$ screen -S it

在 B 主机上,通过 ssh 连接到 A 主机,并查通过 -ls 选项看当前已经存在的 screen 会话

it@workstation:~/ansible$ ssh it@10.10.10.108
it@10.10.10.108's password: 
Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-60-generic x86_64)
... ... ... ...
... ... ... ...
Last login: Thu Jan 14 13:57:32 2021
it@serverc:~$ screen -ls
There is a screen on:
 2107.it (01/14/21 07:30:27) (Attached)
1 Socket in /run/screen/S-it.

然后加入到该会话

it@serverc:~$ screen -x it

这样就可以两边共享一个 screen 会话,不管谁运行什么命令,另一个都可以看到;

当你需要退出会话时,你可以运行 exit 来退出会话(当运行 exit 时,两边都会退出 screen 会话。),也可以通过Ctrl+A,D(Ctrl + A 然后按 D,退出单个会话)。

当网络中断或窗口意外关闭后,任务继续运行

在 Linux 打开两个终端窗口,我们分部称他们为 A 窗口和 B 窗口,在 A 窗口中运行 ping

it@workstation:~$ ping 10.10.10.1
PING 10.10.10.1 (10.10.10.1) 56(84) bytes of data.
64 bytes from 10.10.10.1: icmp_seq=1 ttl=64 time=1.21 ms
64 bytes from 10.10.10.1: icmp_seq=2 ttl=64 time=1.22 ms
64 bytes from 10.10.10.1: icmp_seq=3 ttl=64 time=1.19 ms
... ... ... ...
... ... ... ...

然后在 B 窗口,运行 ps aux 获取系统进程,然后通过 grep 进行筛选

it@workstation:~$ ps aux | grep ping
it          2336  0.0  0.2 317144  8740 ?        Ssl   2020   0:17 /usr/libexec/gsd-housekeeping
it        153585  0.0  0.0  12764   872 pts/3    S+   14:53   0:00 ping 10.10.10.1
it        153646  0.0  0.0  12108   736 pts/2    S+   14:56   0:00 grep --color=auto ping

我们看到 ping 正在运行

当关掉 A 窗口后,我们再到 B 窗口(此时就只有一个窗口了)运行之前的 ps aux 命令

it@workstation:~$ ps aux | grep ping
it          2336  0.0  0.2 317144  8740 ?        Ssl   2020   0:17 /usr/libexec/gsd-housekeeping
it        153651  0.0  0.0  12108  2964 pts/2    S+   14:57   0:00 grep --color=auto ping

此时 ping 命令已经结束了

重新打开一个新的终端窗口,作为 A 窗口,运行 screen

it@serverc:~$ screen -S test

然后在 screen 窗口中运行 ping 命令

it@workstation:~$ ping 10.10.10.1
PING 10.10.10.1 (10.10.10.1) 56(84) bytes of data.
64 bytes from 10.10.10.1: icmp_seq=1 ttl=64 time=1.21 ms
64 bytes from 10.10.10.1: icmp_seq=2 ttl=64 time=1.15 ms
64 bytes from 10.10.10.1: icmp_seq=3 ttl=64 time=1.21 ms
... ... ... ...
... ... ... ...

然后关闭 A 窗口,回到 B 窗口,运行 ps aux 命令;

it@workstation:~$ ps aux | grep ping
it          2336  0.0  0.2 317144  8684 ?        Ssl   2020   0:17 /usr/libexec/gsd-housekeeping
it        154964  0.0  0.0  12768   940 pts/3    S+   15:02   0:00 ping 10.10.10.1
it        154986  0.0  0.0  12108   736 pts/4    S+   15:05   0:00 grep --color=auto ping

我们发现 ping 命令还在继续运行

当我们想回到之前的 ping 会话,可以通过 screen -r 恢复会话

it@workstation:~$ screen -r test

*  如果只有一个 screen 会话,后面的会话名称可以省略不写,如果你不知道,或者忘了会话命令,你可以通过 screen -ls 查看当前主机运行的 screen 会有。

上下分屏

创建一个 screen 会话

it@serverc:~$ screen -S test

按Ctrl+A,然后按Shift+S开启分屏;

图片

按Ctrl+A,然后再按Tab,切换到下面屏幕

图片

但此时下面屏幕什么还没有,你需要通过Ctrl+A,然后按C在下面屏幕中创建终端

图片

这样我们就可以在下面屏幕执行命令了,如果我们需要在不同的屏幕之间切换,可以通过 按Ctrl+A,然后再按Tab来切换。

当需要退出时,我们可以通过 exit 命令退出(在一个屏幕运行 exit 命令后,只是终端退出了,分屏的状态并没有退出,所以你需要通过前面的方法,切换到另一个屏幕上,再次运行 exit 退出)。

 

其它:

Ctrl+A => Shift+s 上下分屏

Ctrl+A => |            左右分屏

Ctrl+A => c            创建终端

Ctrl+A => Tab        切换分屏

Ctrl+A => x            关闭分屏

Ctrl+A => :resize 95  调整分屏大小

参考:

https://blog.youkuaiyun.com/lk583998442/article/details/106978923

https://zengtaiping.blog.youkuaiyun.com/article/details/73770012

 

另一款分屏工具:tmux

https://blog.youkuaiyun.com/sinat_36330809/article/details/80907284

https://louiszhai.github.io/2017/09/30/tmux/

https://blog.youkuaiyun.com/donghaiming111/article/details/88633723

 

<think>好的,用户的问题是关于Kali Linux上的分屏工具及其使用方法。我需要根据提供的引用内容来整理回答,确保符合系统级指令的要求。 首先,用户提到的分屏工具在引用中有提到screen、tmux和terminator。需要分别介绍这三个工具,每个工具的基本安装和使用方法。同时,需要注意LaTeX格式的正确使用,但这里可能数学表达式不多,不过如果有变量或命令中的符号,可能需要用$...$包裹。 引用1和2提到了screen和tmux的基本分屏操作,引用4和5详细介绍了terminator的安装和快捷键。引用3提到的是tmux在Kali中的问题解决,可能需要提到增强键盘设置。需要确保每个步骤都清晰,结构分明,比如分点说明每个工具的安装、分屏方法、切换操作等。 用户可能需要的是步骤明确的指导,所以需要按工具分类,每个工具下分步骤说明安装和使用。同时,生成的相关问题需要与分屏工具相关,比如比较不同工具的优势、快捷键使用问题或配置问题。 在回答中要引用对应的引用来源,比如提到screen分屏快捷键时引用[^2],terminator的安装引用[^4],快捷键引用[^5]。注意引用标识要自然添加在相关段落末尾。 还要检查是否有任何行内数学表达式或需要LaTeX格式的内容,但根据问题来看,可能主要是代码块或命令,这些需要用反引号包裹,而独立公式可能不需要。因此,主要注意代码块的格式是否正确,比如使用三个反引号加语言名称,例如```bash或者```python。 最后,确保回答使用中文,结构清晰,相关问题部分生成三个相关问题,与分屏工具的使用、比较和问题解决相关。</think>### Kali Linux分屏工具及使用方法 #### 1. **使用Terminator** Terminator是专为分屏设计的终端工具,支持灵活的窗口分割和快捷键操作。 **安装方法**: ```bash sudo apt-get install terminator ``` **分屏操作**: - **水平分屏**:`Ctrl+Shift+O` - **垂直分屏**:`Ctrl+Shift+E` - **切换窗口**:`Alt+方向键`或`Ctrl+Tab` - **关闭窗口**:`Ctrl+Shift+W` - **退出Terminator**:`Ctrl+Shift+Q`[^4][^5] #### 2. **使用tmux** tmux是功能强大的终端复用工具,支持分屏、会话管理等功能。 **安装方法**: ```bash sudo apt install tmux ``` **分屏操作**: - **水平分屏**:`Ctrl+B`后按`"` - **垂直分屏**:`Ctrl+B`后按`%` - **切换窗口**:`Ctrl+B`后按方向键 - **新建会话**:`tmux new -s <会话名>` - **解决键盘冲突**:需在虚拟机设置中启用“增强型键盘”[^3]。 #### 3. **使用screen** screen是经典终端分屏工具,适合基础分屏需求。 **安装方法**: ```bash sudo apt install screen ``` **分屏操作**: - **上下分屏**:`Ctrl+A`后按`Shift+S` - **切换窗口**:`Ctrl+A`后按`Tab` - **新建终端**:`Ctrl+A`后按`C` - **关闭终端**:`Ctrl+A`后按`X`(需注意快捷键冲突)[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值