tmux 滚轮
(内容由 AI 生成,仅作参考)
在 tmux 中,滚轮无法直接使用、无法直接复制,因为 tmux 默认是一个纯键盘操作的环境。
要解决这个问题,有两种方案:方案一(推荐,启用鼠标模式) 和 方案二(纯键盘操作)。
方案一:启用鼠标模式(最简单,像普通终端一样)
开启后,可以直接用鼠标滚轮翻页,也可以用鼠标选中文本。
1. 临时开启(当前会话生效)
在 tmux 中按下快捷键进入命令行模式:
- 按下前缀键
Ctrl + b。 - 松开,按
:(冒号),底部会出现黄色输入条。 - 输入
set -g mouse on然后回车。
效果: 可以直接用鼠标滚轮向上翻看历史输出了。
2. 永久开启(推荐)
为了避免每次重启服务器都要输一遍,建议写入配置文件:
- 打开配置文件:
vim ~/.tmux.conf(如果没有这个文件就新建一个)。 - 在里面写入一行:
set -g mouse on
- 保存退出。(输入
:wq) - 让配置生效:在 tmux 里按下
Ctrl + b,然后按:,输入source ~/.tmux.conf。
3. 如何在鼠标模式下“复制到系统剪贴板”
开启鼠标模式后,用鼠标选中文字,文字会变黄,但不会自动进入电脑剪贴板(即无法 Ctrl+V 粘贴到外面)。
解决方法(按住 Shift 键):
- Linux/Windows: 按住
Shift键不放,然后用鼠标左键拖拽选中文本。这时是系统的终端在接管选择,选好后再按Ctrl+Shift+C(或右键复制)。 - Mac (iTerm2): 按住
Option(Alt) 键不放,然后拖拽选择。
方案二:纯键盘“复制模式” (Copy Mode)
如果不想开鼠标模式,或者想精准复制几千行超长的日志(鼠标拖拽不方便),可以使用这个原生的方法。
1. 进入“复制/回滚”模式
- 按下
Ctrl + b,松开后按[(左方括号)。 - 现在的状态: 进入了回滚模式。右上角通常会显示行数。
2. 如何移动(翻页)
- 箭头键:上下移动一行。
- PageUp / PageDown:翻页。
- Ctrl + u / Ctrl + d:向上/向下半页。
- g / G:跳到最顶端 / 跳到最底端。
3. 如何开始复制(选择文本)
默认情况下 tmux 并不是像 Windows 那样按 Shift 选择,而是类似 Emacs 或 Vim 的逻辑:
- 移动光标到你想复制的起点。
- 按下
Space(空格键) —— 开始选择(此时移动光标,选中的文字会变色)。 - 移动光标到终点。
- 按下
Enter(回车键) —— 确认复制,并自动退出复制模式。
- 注:这一步是将文本复制到了 tmux 自己的剪贴板中,不是系统的。
4. 如何粘贴(在 tmux 内部)
- 按下
Ctrl + b,松开后按](右方括号)。
总结
| 需求 | 推荐操作 |
|---|---|
| 只是想回头看一眼上面的报错 | 开启 set -g mouse on,直接滚轮滑。 |
| 想复制几行报错去 Google | 按住 Shift 键,用鼠标选中,右键复制。 |
| 想复制几百行/几千行完整的 Log | 使用 方案二 (键盘模式):Ctrl+b -> [ -> 移动 -> Space选择 -> Enter复制 -> 粘贴到文件里。 |
tips:
如果在 方案二 (Copy Mode) 下,想搜索某个报错关键词:
进入模式后,按下 / 键,然后输入关键词(像 Vim 一样搜索),按 n 查找下一个。这在查 Log 时非常有用。
tmux 相关介绍
tmux 的结构可以看作是一个浏览器(比如 Chrome):
- Session (
jailbreak-0):就像是一个浏览器窗口。 - Window (窗口):就像是浏览器里的“标签页”。
- Pane (窗格):就像是把一个标签页分屏(左边一个,右边一个)。
tmux ls 显示 1 windows,意思是目前的这个会话里只有 1 个标签页。你完全可以在这个 jailbreak-0 会话里开 10 个、20 个“终端”,它们都属于这同一个会话,互不干扰,但同时存在。
1. 怎么在当前会话里“新建标签页”
假设你已经进入了 jailbreak-0:
-
新建窗口 (New Window):
-
按下
Ctrl + b,松开,然后按c(Create)。 -
效果: 你的屏幕会变成一个新的、空白的终端。底部的绿色状态栏会多出一个编号(比如
1:bash)。 -
应用场景:
-
窗口 0:跑你的
run_sidechannel_experiments.sh实验代码。 -
窗口 1:跑
htop或者watch -n 1 nvidia-smi监控 GPU。 -
窗口 2:用
vim修改另一个代码文件。 -
窗口 3:查看日志文件。
2. 怎么在这些窗口之间“切换”
既然开了多个,怎么回得去?
- 切换到下一个窗口:
Ctrl + b,松开,按n(Next)。 - 切换到上一个窗口:
Ctrl + b,松开,按p(Previous)。 - 直接跳到指定窗口:
Ctrl + b,松开,按 数字键 (比如0,1,2)。 - 可视化选择列表:
Ctrl + b,松开,按w(Window)。 - 你会看到一个列表,可以用上下键选择你想去的窗口,按回车进入。
3. 分屏 (Panes)
有时候不想切换标签页,而是想同时看到两个终端(比如左边跑代码,右边看 GPU),这就叫 Pane。
- 左右分屏:
Ctrl + b,松开,按%(百分号,通常是Shift + 5)。 - 上下分屏:
Ctrl + b,松开,按"(双引号,通常是Shift + ')。 - 在分屏间光标移动:
Ctrl + b,松开,按 上下左右方向键。
总结
tmux 创建的 jailbreak-0 不仅仅是一个终端,还是一个工作台。
可以把所有和 Jailbreak 实验相关的终端都开在这个 jailbreak-0 里:
- Window 0: 跑实验
- Window 1: 监控资源
- Window 2: 修改脚本
这些内容始终在服务器上存在,与本地连接无关,下次断开 vpn 连接再回来 (tmux attach -t jailbreak-0),这 3 个窗口、所有的分屏、跑着的代码,全部都会保持原样。

浙公网安备 33010602011771号