我多年来一直使用屏幕作为确保任何远程工作在断开连接/崩溃后安全地保持打开状态的一种方式。事实上,即使在本地工作,我也理所当然地使用屏幕。
最近,我的需求已经发展到了我转向 tmux 的阶段,因为它的优点:
tmux attach -r
以只读模式(-r)附加到我自己的会话意味着我不必担心意外:
- 在 IRC 中粘贴垃圾行
- 停止重要的编译/部署过程
- 在路人的众目睽睽之下输入密码
当然,问题是我必须打开一个会话,Cb + d 来分离,然后使用 -r 标志重新打开它以变为只读。然后,当我偶尔想要加入 IRC 对话、中断任务或执行其他操作时,我必须再次断开连接并正常重新连接。
有谁知道如何通过按键绑定在模式之间切换?
答案1
在tmux 1.9a
你可以做的:switch-client -r
。我不确定这是否是 1.9a 中的新增功能,但这是我正在运行的版本,并且我能够将现有 tmux 会话更改为只读模式。
答案2
答案3
在 中tmux 2.9a
,man tmux
说(在 下attach-session
):
-r signifies the client is read-only (only keys bound to the
detach-client or switch-client commands have any effect)
基于此,您可以制作通过提供您自己的绑定来进入只读(和返回)的快捷方式:switch-client -r
:
# Toggle read-only with <prefix>R
bind-key R switch-client -r
当客户端为只读时,这也将起作用。
请注意,添加附加display-message
命令将不起作用:tmux
将拒绝运行该键的绑定函数,因为它不再只是一个switch-client
命令。