跳到正文
FunCoding

搜索

搜索文档、智能体、博客、Skill 和 MCP

Windows 与 WSL

在 Windows 上运行 Codex 的两种方式:原生 Windows 沙箱,或在 WSL2 的 Linux 环境里运行;WSL 的启动方式和性能建议。

在 Windows 上,Codex 可以用原生 Windows 沙箱运行,也可以在 WSL2 里运行。使用 WSL2 时,Codex 在 Linux 环境里运行,而不是用原生 Windows 沙箱。以下情形选 WSL2:需要 Linux 原生工具、你的仓库和开发流程已经在 WSL2 里、或两种原生 Windows 沙箱模式都不适合你的环境。WSL1 只支持到 Codex 0.114;从 0.115 起 Linux 沙箱改用 bubblewrap,不再支持 WSL1。

原生 Windows 的沙箱模式

在 PowerShell 里原生运行 Codex 时,在 config.toml 的 windows 表里设置原生沙箱模式;推荐 elevated,没有管理员权限或提权设置失败时才用 unelevated:

[windows]
sandbox = "elevated"   # 推荐
# sandbox = "unelevated" # 管理员权限或设置不可用时的备选

在 WSL 里使用 Codex CLI

在提升权限的 PowerShell 或 Windows Terminal 里安装并启动 WSL(wsl --install 默认安装 Ubuntu 这样的 Linux 发行版,wsl 进入其 shell),然后在 WSL shell 里:

curl -fsSL https://chatgpt.com/codex/install.sh | sh
codex

从 WSL 里启动 VS Code

前提:安装了 WSL 的 Windows,以及装了 WSL 扩展的 VS Code。在 WSL 终端里进入项目并运行 code .,会打开一个 WSL 远程窗口,在需要时安装 VS Code Server,并确保集成终端在 Linux 里运行:

cd ~/code/your-project
code .

确认已连接到 WSL:状态栏显示绿色的 WSL: <distro>;集成终端显示 /home/... 这样的 Linux 路径而不是 C:\;运行 echo $WSL_DISTRO_NAME 打印发行版名称。没看到「WSL: ...」时,按 Ctrl+Shift+P 选择 WSL: Reopen Folder in WSL,并把仓库放在 /home/... 下(不要放在 C:\)以获得最佳性能。Windows 应用或项目选择器没显示你的 WSL 仓库时,在文件选择器或资源管理器里输入 \\wsl$,导航到发行版的主目录。

在 WSL 里处理代码

  • 在 /mnt/c/... 这样的 Windows 挂载路径里工作可能比 Windows 原生路径更慢,把仓库放在你的 Linux 主目录下(如 ~/code/my-app),I/O 更快,符号链接和权限问题也更少
  • 需要从 Windows 访问文件时,它们在资源管理器的 \\wsl$\Ubuntu\home\<user> 下

排障:大型仓库在 WSL 里感觉慢——确认没有在 /mnt/c 下工作,把仓库搬进 WSL;需要的话给 WSL 增加内存和 CPU,并更新 WSL(wsl --update,然后 wsl --shutdown)。WSL 里的 VS Code 找不到 codex——在 WSL 里运行 which codex || echo "codex not found" 确认二进制存在并在 PATH 上,找不到就按 Codex CLI 的安装说明重新安装。