本地运行 · 事件驱动 · 兼容性桥接

让 WSL 中的 Codex CLI 正确粘贴 Windows 截图。

解决令人困扰的 no image on clipboard 错误,无需轮询、云服务或永久保存剪贴板文件。

MIT 许可证纯本地处理空闲不轮询
codex · WSL
$ codex

修复前
Failed to paste image:
no image on clipboard

修复后[Image #1]

真正的问题:格式断层

Codex 支持图片,出问题的是剪贴板传递链路。

在受影响的 WSLg 环境中,Windows 截图以 BMP 暴露给 Wayland,而 Codex 能从 X11 剪贴板读取 PNG。桥接器在本地安全地转换并重新发布图片。

工作原理

跨越三个边界的小型桥接器。

01监听

XFixes 监听 X11 剪贴板所有者变化,不会使用定时器反复读取剪贴板。

02转换

服务读取 Wayland image/bmp,经过大小限制检查后转换成 PNG32。

03发布

xclip 持有 X11 image/png,Codex 即可通过 Ctrl+V 附加图片。

WindowsWSLgBMPPNG32Codex

安装

三组命令,随后验证。

适用于 Windows 11、WSL2/WSLg、启用了 systemd 的 Ubuntu,以及原生图片粘贴失败的 Codex CLI 会话。

  • 验证 WSLg、systemd、X11 和 XFixes
  • 原子化安装,失败自动回滚
  • 作为经过限制的用户服务运行
WSL · BASH
sudo apt update
sudo apt install wl-clipboard imagemagick xclip

git clone https://github.com/shangxiang0907/\
codex-wsl-clipboard-bridge.git
cd codex-wsl-clipboard-bridge
bash ./install.sh

验证

确认修复有效后再开始使用。

bash ./verify.sh

在 Windows 中复制截图,聚焦 WSL 中的 Codex CLI 输入框,然后按 Ctrl + V。Codex 应显示 [Image #1]

仅在需要时使用

这是针对性兼容方案,不是原生功能的替代品。

先尝试原生粘贴

未来 Codex 或 WSLg 版本可能已经修复底层兼容问题。

目前仅桥接 BMP

当前实现针对实际观察到的 WSLg 截图格式。

WSLg 必须提供 X11

桥接器依赖 Wayland 以及 WSLg 的 X11 兼容链路。

不会访问网络

图片保留在本地私有运行时目录中,并在处理后删除。

仍然遇到错误?

阅读完整排查实录,或者提交你的环境信息。