Codex 桌面版远程连接 Ubuntu进行开发
本文记录一种适合Windows + VMware Ubuntu + C/C++ 项目的开发方式:Windows 运行 Codex 桌面端,Codex 通过 SSH 连接 Ubuntu 虚拟机,在 Ubuntu 的项目目录中读代码、改代码、运行编译命令。Codex 官方远程连接流程也是先配置 SSH host,再在 Codex App 的 Settings → Connections 中添加或启用远程 SSH 主机,并选择远程项目文件夹。
1. 整体结构
Windows ├── Codex 桌面端 ├── OpenSSH 客户端 └── VMware └── Ubuntu └── C/C++ 项目目录最终效果:
Windows Codex 桌面端 ↓ SSH Ubuntu 虚拟机 ↓ /home/ning/share/Item/kvStore/kvStore_selfLearning ↓ Codex 读取代码、修改代码、执行 gcc/make/cmake/gdb 等命令2. Ubuntu 安装 SSH 服务
在 Ubuntu 虚拟机中执行:
sudoaptupdatesudoaptinstall-yopenssh-serversudosystemctlenable--nowssh查看 Ubuntu IP:
ip-4addr例如本文使用:
192.168.206.1293. Windows 配置 SSH
先确认 Windows 有 OpenSSH:
ssh-V如果ssh命令找不到,可以直接使用:
C:\Windows\System32\OpenSSH\ssh.exe-V建议把下面目录加入 Windows 环境变量 Path:
C:\Windows\System32\OpenSSH然后编辑 SSH 配置:
notepad$env:USERPROFILE\.ssh\config写入:
Host ubuntu24.04/129 HostName 192.168.206.129 User ning Port 22 IdentityFile C:/Users/27736/.ssh/id_ed25519 IdentitiesOnly yes测试连接:
ssh ubuntu24.04/1294. 配置免密码 SSH 登录
Codex 桌面端远程连接时,建议使用 SSH 密钥登录,不要依赖手动输入密码。
Windows 生成密钥:
ssh-keygen-t ed25519-C"windows-to-ubuntu-codex"-f$env:USERPROFILE\.ssh\id_ed25519-N""把公钥写入 Ubuntu:
type$env:USERPROFILE\.ssh\id_ed25519.pub|ssh ubuntu24.04/129"mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"再次测试:
ssh ubuntu24.04/129如果不再要求输入密码,说明免密登录成功。
5. Ubuntu 安装 Codex CLI
虽然使用的是 Windows Codex 桌面端,但远程 Ubuntu 上也需要安装 Codex CLI。Codex 官方 Linux/macOS 安装命令是:curl -fsSL https://chatgpt.com/codex/install.sh | sh。
在 Ubuntu 中执行:
curl-4-fsSLhttps://chatgpt.com/codex/install.sh|sh如果提示找不到codex,加入 PATH:
echo'export PATH="$HOME/.local/bin:$PATH"'>>~/.bashrcsource~/.bashrc检查:
whichcodex codex--versionWindows 端也要能通过 SSH 找到远程 Codex:
ssh ubuntu24.04/129"bash -lc 'which codex && codex --version'"正常输出类似:
/home/ning/.local/bin/codex codex-cli 0.142.06. 处理 bubblewrap 沙箱提示
Ubuntu 24.04 上启动 Codex 时,可能出现 bubblewrap 或 user namespace 相关提示。Codex 官方说明,Codex 会在沙箱中读取和编辑当前 workspace,并在越过工作区边界或使用网络时请求确认。
推荐安装:
sudoaptupdatesudoaptinstall-ybubblewrap apparmor-profiles apparmor-utils如果仍提示 user namespace 限制,可加载 AppArmor profile:
sudoinstall-m0644\/usr/share/apparmor/extra-profiles/bwrap-userns-restrict\/etc/apparmor.d/bwrap-userns-restrictsudoapparmor_parser-r/etc/apparmor.d/bwrap-userns-restrict7. Codex 桌面端添加 Ubuntu 连接
打开 Windows Codex 桌面端:
设置 → 连接 → SSH添加或启用:
ubuntu24.04/129看到绿色状态后,说明 SSH 连接成功。
然后选择远程项目目录:
/home/ning/share/Item/kvStore/kvStore_selfLearning注意 Linux 路径区分大小写,selfLearning中的L必须大写。
8. 第一次使用相关指令
进入项目后,先不要直接让 Codex 修改代码。建议先验证目录:
请运行 pwd 和 ls,确认当前工作目录。暂时不要修改任何代码。期望看到:
/home/ning/share/Item/kvStore/kvStore_selfLearning然后再让 Codex 阅读项目:
请先阅读当前 C 项目结构,说明每个文件的作用,暂时不要修改任何代码。如果要修改代码,建议明确范围:
请只修改 xxx.c 和 xxx.h,不要修改其他文件。修改前先说明修改计划,等我确认后再改。9. 推荐开发习惯
在让 Codex 修改项目之前,先用 Git 保存现场:
cd具体目录地址gitstatusgitadd.gitcommit-m"checkpoint before codex task"如果 Codex 改坏了,可以恢复:
gitrestore.10. 常见问题
1. Codex 桌面端检测不到 SSH
确认 Windows 能执行:
ssh-V ssh ubuntu24.04/129并确认 SSH config 在:
C:\Users\27736\.ssh\config2. Permission denied
通常是密钥没配置好。检查 Ubuntu 权限:
chmod700~/.sshchmod600~/.ssh/authorized_keys3. 输入 ssh 失败,但完整路径能用
把下面路径加入 Windows Path:
C:\Windows\System32\OpenSSH4. Codex 找不到远程 codex 命令
Ubuntu 中执行:
echo'export PATH="$HOME/.local/bin:$PATH"'>>~/.bashrcsource~/.bashrcWindows 测试:
ssh ubuntu24.04/129"bash -lc 'which codex && codex --version'"总结
最终使用流程是:
1. Ubuntu 开启 SSH 2. Windows 配置 SSH host:ubuntu24.04/129 3. Windows 配置 SSH 密钥免密码登录 4. Ubuntu 安装 Codex CLI 5. Codex 桌面端添加 SSH 主机 6. 选择 Ubuntu 项目目录 7. 在 Windows Codex 桌面端中远程开发 Ubuntu 项目