con*_*nrs 27 terminal-multiplexer tmux
我多年来一直使用 screen 来确保任何远程工作在断开连接/崩溃后安全地保持打开状态。事实上,即使在本地工作,我也理所当然地使用屏幕。
最近,我的需求已经发展到我切换到 tmux 的阶段,因为它的美:
tmux attach -r
Run Code Online (Sandbox Code Playgroud)
以只读模式 (-r) 附加到我自己的会话意味着我不必担心意外:
当然问题是我必须打开一个会话, Cb + d 分离,然后用 -r 标志重新打开它以进入只读状态。然后,当我偶尔想加入 IRC 对话、中断任务或其他任何事情时,我必须再次断开连接并正常重新连接。
有谁知道一种通过键绑定在模式之间切换的方法?
Mat*_*son 27
在tmux 1.9a
你可以做的:switch-client -r
。我不确定这是否是 1.9a 中的新版本,但这是我正在运行的版本,我能够将现有的 tmux 会话更改为只读模式。
Jus*_*ier 23
不是根据手册页,它只调出attach -r
启用只读模式的选项。
此外,在源代码中,只有以下行cmd-attach-session.c
设置了只读标志。其余代码检查是否设置了此标志,但不更改其值。再说一次,除非您可以进行(或请求)代码更改,否则您似乎不走运:
if (cmd_check_flag(data->chflags, 'r'))
ctx->cmdclient->flags |= CLIENT_READONLY;
Run Code Online (Sandbox Code Playgroud)
小智 5
在 中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)
Run Code Online (Sandbox Code Playgroud)
基于此,您可以通过提供您自己的绑定来创建进入只读(和返回)的快捷方式:switch-client -r
:
# Toggle read-only with <prefix>R
bind-key R switch-client -r
Run Code Online (Sandbox Code Playgroud)
当客户端为只读时,这也将起作用。
请注意,添加附加display-message
命令将不起作用:tmux
将拒绝运行该键的绑定函数,因为它不再只是一个switch-client
命令。
归档时间: |
|
查看次数: |
10074 次 |
最近记录: |