Contents

linux 多种终端复用器简介

Contents

Linux 终端复用器允许用户在单个窗口中创建或启用多个终端, 通常在连接到远程服务器时会使用, 即便链接意外中断, 也可以通过终端复用器的相关功能恢复到之前的工作状态。

本文将简要介绍 screen, tmux 和 zellij 三款终端复用器, 其中 screen 和 tmux 在 ubuntu server 22.04 中自带, 而 zellij 的使用比较方便。

screen

Screen 是一个全屏窗口管理器, 它在交互式 shell 之间多路传输物理终端。在用户离开它管理的窗口时, 窗口内的程序仍会运行。

创建一个会话可以使用以下三种方式:

  • screen
    • 直接创建并以 linux 的 hostname 命名
  • screen -S <name>
    • 创建指定名字的会话
  • screen -R <name>
    • 先尝试进入指定会话, 如果没有创建的话则创建它

创建的会话是可以重名的, 不过它们的 pid 不同, 可以通过这来区分, 建议使用第三种方式创建。

在进入绘画后使用 ctrl-a d 分离会话。

使用 screen -ls 可以查看所有会话的 pid, 名字, 状态。

使用 screen -r [pid/name]screen -R [pid/name] 重新进入会话。

在会话中 exitctrl-d 终止此会话, 也可以在外面通过 screen -R [pid/name] -X quit 终止。

tmux

tmux 可以管理多个会话, 一个会话中可以有多个窗口, 一个窗口中可以划分称多个面板。

tmux 中的快捷键都需要先 ctrl-b 才能使用, ctrl+b ? 获取帮助。

使用 tmux 或者 tmux new -s <name> 创建一个新的会话, 后者可以指定名字。

ctrl+b d 或者 tmux detach 分离会话。

tmux ls 列出列出所有会话。

tmux attach -t [id/name] 进入会话。

tmux kill-session -t [id/name] 删除会话。

zellij

zellij 使用 rust 开发, 默认情况下进入 zellij 后快捷键都会在屏幕下方提示, 所以入门门槛比较低。

直接 zellij 就可以进入 zellij, 使用 ctrl-s d 分离会话。

在会话中 ctrl-o w ctrl-r 重命名会话。

zellij ls 列出所有会话。

zellij a <name> 进入会话。

zellij d <name> 删除会话。