Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssh 在远程会话中使用tmux选择鼠标后复制到客户端剪贴板_Ssh_Copy Paste_Tmux_Iterm - Fatal编程技术网

Ssh 在远程会话中使用tmux选择鼠标后复制到客户端剪贴板

Ssh 在远程会话中使用tmux选择鼠标后复制到客户端剪贴板,ssh,copy-paste,tmux,iterm,Ssh,Copy Paste,Tmux,Iterm,这是我的.tmux.conf setw -g mouse on set-option -s set-clipboard off bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i" 在本地linux机器上运行良好。鼠标选择将自动复制到系统剪贴板 但是,在远程会话(iTerm+Mac)中,它不起作用。文本不会复制到客户端的系统剪贴板。显然我

这是我的.tmux.conf

setw -g mouse on
set-option -s set-clipboard off
bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i"
在本地linux机器上运行良好。鼠标选择将自动复制到系统剪贴板

但是,在远程会话(iTerm+Mac)中,它不起作用。文本不会复制到客户端的系统剪贴板。显然我必须使用OSC 52。这是一本书

您可以这样使用脚本:

echo“任意文本”| osc52.sh

现在,“任意文本”被复制到客户端的系统剪贴板

但是,我无法让脚本使用tmux鼠标选择:

setw -g mouse on
set-option -s set-clipboard off
osc52="~/osc52.sh"
bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "$osc52"

感谢您的帮助。谢谢

这不是使用OSC 52的方法。您不能从脚本发送它-忽略从复制管道运行的命令的所有输出

相反,您需要配置tmux本身来实现这一点。请尝试以下操作:

1) 删除bind key命令,将MouseDragEnd1Pane保留为默认值,即复制选择

2) 将“关闭设置剪贴板”更改为“打开剪贴板”。记住在更改.tmux.conf之后完全重新启动tmux

3) 确保tmux外部的术语是xterm或xterm-256color,以便tmux从默认终端覆盖中添加Ms功能。这应该是iTerm2中的默认值。确保没有将其从.tmux.conf中的终端覆盖中删除

4) 在iTerm2中,我认为您需要启用此选项,“终端中的应用程序可以访问剪贴板”:


不起作用。这是我的.tmux.conf:setw-g mouse on set option-s set clipboard在更改.tmux.conf后是否重新启动了整个tmux?
echo$TERM
在tmux之外说了什么?
tmux显示-s终端覆盖在tmux内部说什么?xterm-256color and terminal overrides[0]“xterm*:XT:Ms=\\E]52;%p1%s;%p2%s\\007:Cs=\\E]12;%p1%s\\007:Cr=\\E]112\\007:Ss=\\E[%p1%d q:Se=\\E[2 q”终端覆盖[1]“屏幕*:XT这应该可以工作,也许您需要更改iTerm2中的其他内容。