You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac终端SSH连接Ubuntu后,如何将tmux内容复制到Mac剪贴板?

解决tmux远程复制到Mac剪贴板的问题

核心原因

你通过SSH连接远程Ubuntu时,远程的xclip操作的是远程机器的剪贴板(依赖X11环境),和本地Mac剪贴板完全隔离。如果远程是无头服务器(无图形界面),xclip还会因缺少DISPLAY环境变量无法工作,导致复制的内容根本没存入任何剪贴板。

可行解决方案

方案一:利用SSH X11转发(适合带图形界面的远程机器)

  1. 本地Mac安装XQuartz,安装完成后重启Terminal。
  2. 连接远程Ubuntu时加-X参数开启X11转发:
    ssh -X your-ubuntu-user@ubuntu-ip
    
  3. 打开XQuartz偏好设置,进入「剪贴板」选项卡,勾选「同步剪贴板」。
  4. 重新加载tmux配置:
    tmux source ~/.tmux.conf
    
    此时tmux复制的内容会通过X11转发同步到XQuartz剪贴板,进而同步到Mac系统剪贴板。

方案二:直接将内容发送到本地Mac剪贴板(推荐无头服务器使用)

这个方法无需X11环境,通过SSH反向传输内容到本地:

  1. 本地Mac开启远程登录:打开「系统设置」→「通用」→「共享」,勾选「远程登录」,记下你的Mac本地IP(比如192.168.1.100)。
  2. 远程Ubuntu生成SSH密钥(无密钥时执行):
    ssh-keygen -t ed25519
    
    一路回车用默认设置即可。
  3. 将Ubuntu公钥同步到Mac,实现免密登录:
    ssh-copy-id your-mac-user@192.168.1.100
    
    替换为你的Mac用户名和本地IP,输入Mac密码完成同步。
  4. 修改远程Ubuntu的~/.tmux.conf,把复制绑定替换为:
    bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'cat | ssh your-mac-user@192.168.1.100 "pbcopy"'
    
  5. 重新加载tmux配置:
    tmux source ~/.tmux.conf
    
    现在在tmux里选中内容按y,内容会直接存入Mac系统剪贴板。

方案三:手动同步(临时应急)

如果不想配置免密登录,可临时手动操作:

  1. 在tmux里选中内容按y存入tmux缓冲区。
  2. 在tmux中执行:
    tmux save-buffer -
    
    缓冲区内容会输出到终端。
  3. 在本地Terminal选中输出内容,按Cmd+C复制到Mac剪贴板。

内容的提问来源于stack exchange,提问作者hunhoffe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 00:37:04