先说结论
这次的问题不是手机配对失败,也不是 Codex 更新后账号失效,而是电脑端 Codex 无法正常连接 ChatGPT 的远程控制服务。
我在电脑端日志里看到,设备其实已经完成了登记,日志中有 has_enrollment=true。真正失败的是连接下面这个地址时超时或被拒绝:
wss://chatgpt.com/backend-api/wham/remote/control/server
后来打开 VPN 的 TUN 模式后恢复正常,说明问题出在网络路径上。TUN 模式会接管电脑的大部分网络流量,Codex 这样的桌面软件也会走 VPN,因此 WebSocket 连接能够建立。
简单说:手机和电脑本身没坏,Codex 也已经配对过,之前只是电脑端没有一条能连到远程服务的网络线路。
你看到的提示是什么意思
提示:
无法启用远程控制。请重试。
这个提示比较笼统,通常有几种可能:
- Codex 没有登录,或者登录状态过期。
- 电脑和手机登录的不是同一个账号或工作区。
- 电脑无法连接 ChatGPT 的远程控制服务器。
- VPN 只代理了浏览器,没有代理 Codex 桌面程序。
- VPN 虽然打开了,但规则仍然把
chatgpt.com直连了。
这次属于第 3、4 类。
我是怎么判断的
1. 先排除账号和配对问题
电脑端已经出现过设备登记信息,日志里有:
has_enrollment=true
这表示远程控制的登记信息还在,不需要反复删除设备、重新安装 Codex 或清空账号数据。
本机登录状态也没有过期,所以没有把问题归到账号上。
2. 再看连接失败的类型
日志里出现了两类错误:
os error 10060
表示连接等待太久,最后超时。
os error 10061
表示目标连接被拒绝。
这两种错误都更像网络连接问题,而不是二维码失效或账号密码错误。如果是登录问题,通常会看到 401 Unauthorized 之类的提示。
3. 用 PowerShell 测试电脑能不能连到服务
按 Win + X,选择“终端”或“PowerShell”,运行:
Test-NetConnection chatgpt.com -Port 443
重点看最后的结果:
TcpTestSucceeded : True
如果显示 False,说明电脑当前无法通过 443 端口连到 chatgpt.com。这时即使网页偶尔能打开,Codex 的远程控制也可能仍然失败,因为它使用的是桌面程序里的 WebSocket 连接。
还可以查看 Windows 的系统代理:
netsh winhttp show proxy
如果显示:
Direct access (no proxy server).
就表示 Windows 的 WinHTTP 没有设置代理。浏览器插件的代理通常只对浏览器生效,不能保证 Codex 桌面程序也能使用。
最终解决方法:打开 VPN 的 TUN 模式
不同 VPN 软件的叫法可能不一样,常见名称有:
- TUN 模式
- 虚拟网卡
- VPN 模式
- 增强模式
- 全局模式
- 接管系统流量
一般按下面的顺序操作即可。
第一步:打开 VPN 软件
先确认 VPN 客户端已经正常连接服务器。仅仅打开软件窗口还不够,状态需要显示“已连接”。
第二步:开启 TUN 或虚拟网卡模式
在 VPN 的设置中找到 TUN、虚拟网卡或增强模式并打开。
如果软件同时有“系统代理”和“TUN 模式”,优先使用 TUN 模式。系统代理有时只能处理普通的 HTTP/HTTPS 请求,而 Codex 的远程控制使用 WebSocket,TUN 对这类连接通常更稳妥。
第三步:确认流量确实经过 VPN
有些 VPN 虽然显示 TUN 已打开,但分流规则仍然把部分域名直连。遇到这种情况,可以临时切换到:
- 全局模式;或
- 让
chatgpt.com及其子域名走代理的规则。
排查完成后,再改回平时使用的分流模式。
第四步:重新打开 Codex
TUN 模式开启后,建议完全退出 Codex,再重新启动一次。
如果任务栏右下角还有 Codex 图标,先右键退出,再打开 Codex。这样可以让桌面程序重新建立远程控制连接。
第五步:重新设置手机控制
在电脑端 Codex 中进入设置,找到类似下面的入口:
Settings → Connections → Control this PC → Set up / Add
具体文字可能会随版本略有变化。
然后用手机端 ChatGPT 扫描电脑端显示的二维码。手机和电脑要登录同一个 ChatGPT 账号;如果使用了团队或企业工作区,两边还要选择同一个工作区。
配对完成后,电脑需要保持开机、联网,并且 Codex 处于运行状态。电脑睡眠或关机时,手机不能控制这台电脑。
如何确认已经修好
可以按下面三点检查:
- 手机端能看到这台电脑,并且状态正常。
- 电脑端不再反复弹出“无法启用远程控制”。
- 再次运行下面的命令时,显示
TcpTestSucceeded : True:
Test-NetConnection chatgpt.com -Port 443
如果仍然失败,说明 TUN 可能没有接管系统流量,或者 VPN 的分流规则把 chatgpt.com 设置成了直连。
常见误区
只给浏览器装代理插件
这种代理一般只影响浏览器标签页,Codex 桌面端不会自动跟着走。网页能打开,不代表 Codex 的远程控制连接也能用。
只打开系统代理,不开 TUN
有些网络环境下,普通系统代理可以访问网页,但不能稳定处理桌面程序的 WebSocket。遇到这种情况,直接使用 TUN 模式更省事。
一直删除设备、重新扫码
如果日志已经显示设备登记存在,反复扫码通常解决不了网络连接失败。先确认 VPN 和 TUN,再重新扫码更有效。
TUN 开了,但仍然使用直连规则
部分 VPN 的规则模式会让某些域名绕过代理。可以临时改成全局模式验证。如果全局模式下恢复正常,再把 chatgpt.com 加入代理规则。
更新 Codex 后不重启
更新后旧进程可能还留在后台。遇到连接状态异常时,完全退出 Codex 并重新打开,通常比连续点击“重试”有效。
不需要做的事情
这次问题不需要:
- 修改路由器端口映射;
- 开放 Windows 的 3389 远程桌面端口;
- 把电脑端口暴露到公网;
- 删除 Codex 配置文件;
- 反复卸载和安装 Codex。
远程控制连接依赖 Codex 和 ChatGPT 服务之间的安全连接,不需要把电脑直接暴露在公网。
最后整理成一张检查清单
遇到“无法启用远程控制”时,按这个顺序检查:
- 电脑端和手机端登录同一个账号、同一个工作区。
- 电脑端 Codex 已更新到较新的版本。
- VPN 显示已连接。
- VPN 的 TUN、虚拟网卡或增强模式已开启。
chatgpt.com没有被分流规则设置为直连。- 运行
Test-NetConnection chatgpt.com -Port 443,确认连接成功。 - 完全退出并重新打开 Codex。
- 在电脑端重新进入远程控制设置,用手机扫码。
这次实际的关键步骤就是第 4 步:打开 VPN 的 TUN 模式。开启后 Codex 能够正常连接远程服务,手机端控制也就恢复了。
private note
交流
文章暂不开放公开评论。如果你有想法、问题或建议,欢迎私下联系站长。
联系站长 →