我在本地有 tmux 会话,它连接到多个远程 tmux 会话。
我无法弄清楚如何从这些远程 tmux 会话和本地计算机复制文本。
神秘的是,打开远程 ssh 会话(不是嵌套在本地 tmux 中)是有效的。
基本上,如果我启动 ssh 会话并附加到远程 tmux,那么一切正常(复制/粘贴)。另一方面,如果我启动本地 tmux,然后 ssh 到远程系统并附加到它的 tmux 会话,那么我无法从该远程会话复制到本地计算机(我在 Catalina/MacOS 上)。这对我来说似乎很奇怪。
Nic*_*ott 13
我假设你的意思是在 tmux 中使用复制模式复制文本?
tmux 可以使用 OSC 52 转义序列设置主机剪贴板,但需要注意外部终端支持此操作,并且需要配置外部终端以允许它。
如果只有一个 tmux,您可能有TERM=xterm外部 tmux 和默认允许此操作的终端,因此无需更改任何配置即可工作。
然而,对于两个 tmux,内部 tmux 将具有TERM=screenorTERM=tmux和一个外部终端(外部 tmux),默认情况下不允许这样做。
因此,要使其发挥作用,您需要做两件事:
1) 配置外部 tmux 以允许内部程序设置剪贴板set -g set-clipboard on(不要忘记在更改 .tmux.conf 后完全重新启动 tmux,或者也从命令提示符执行此操作)。
2) 配置内部 tmux,以在外部终端也是 tmux 时通过Ms向terminal-overrides 添加条目来设置剪贴板(如果有内部 tmux,则更改为)screen*:tmux*TERM=tmuxset -as terminal-overrides ',screen*:Ms=\\E]52;%p1%s;%p2%s\\007'。执行此操作后,如果不重新启动 tmux,则需要分离并重新连接 tmux。
如果内部 tmux 非常旧,您可能还需要set -g set-clipboard on对其进行处理。
| 归档时间: |
|
| 查看次数: |
3824 次 |
| 最近记录: |