如何用手机远程控制 Linux 服务器上的 Codex:四种方案对比

2026 年在手机上操控无头 Linux 机器上 Codex 会话的所有可行方法:OpenAI 的 Remote、codex remote-control CLI、SSH 加 tmux,以及配套应用。各自需要什么、在哪里会出问题。

基于版本
CLI
0.2.17
预览 ref
a2c45c8

要点

在手机上访问无头 Linux 机器上的 Codex 会话,有四种方法。它们的区别归结为一个问题:除了 Linux 机器,还有什么必须一直运行?

  1. OpenAI 的 Remote(官方,受支持): 一台 Mac 或 Windows PC 运行 ChatGPT 桌面应用,通过 SSH 连接你的 Linux 机器,手机与这台 PC 配对。干活的是 Linux 机器,但 Mac 或 PC 必须保持唤醒。
  2. 直接在 Linux 机器上运行 codex remote-control: 作为 CLI 命令有文档说明,也有人报告它能配合 ChatGPT 手机版使用。但 OpenAI 的 Remote connections 页面仍然写着移动端设置要从桌面应用开始,所以把这条路当作非官方的,并预期会有变化。
  3. 在手机终端应用里用 SSH + tmux(或 mosh): 服务器上不用装额外的东西,完全可控,但在小屏幕上看 diff 和回应审批很痛苦。
  4. 在 Linux 机器上运行的配套应用: 例如 Happier,一款用于跨设备运行和编排编程代理的开源应用。这台机器会成为可以直接启动 Codex 会话的机器,并且在 Codex CLI 0.131.0 及以上版本中,原生 Codex TUI 和手机共享同一个线程。

如果你已经有一台常开的 Mac,方案 1 是简单且受支持的答案。如果 Linux 机器是你唯一常开的电脑,请继续往下读。

问题

一种常见的配置:长时间的 Codex 任务跑在壁橱里的一台 Linux 机器上。它从不休眠,有所有仓库,也装好了合适的工具链。而笔记本则经常休眠。

搜索“在 Linux 服务器上远程控制 Codex”,得到的答案五花八门:“不支持”、“能用,命令在这里”、“用了十分钟,然后手机又显示了欢迎界面”。结果发现三种说法都对,取决于你走哪条路。

本指南逐一列出每条路需要什么、能给你什么,以及大家实际报告的失败情况。

方案 1:OpenAI 的 Remote,中间需要一台 Mac 或 Windows PC

这是受支持的路线。截至 2026-10-11,OpenAI 的 Remote connections 页面写道:

  • 远程访问“支持在 macOS 和 Windows 上运行 ChatGPT 桌面应用的主机”。
  • “移动端设置从应用开始,无法从 Codex CLI 或 IDE 扩展中设置。”
  • Linux 机器可以作为 SSH 主机接入:桌面应用从 ~/.ssh/config 读取具体的主机别名,通过 SSH 启动远程的 Codex 应用服务器,并针对远程文件系统运行对话。codex 必须在远程用户的 PATH 中。
  • 在 ChatGPT 工作区中,“你的管理员可能需要启用 Remote Control 访问权限”。

实际意味着:

  • 优点: 官方出品,手机界面精致,审批和 diff 都能在手机上处理,工作确实在 Linux 机器上运行。
  • 代价: 运行桌面应用的 Mac 或 Windows PC 在链路之中。如果它休眠、断网或关闭了应用,远程访问就会中断。OpenAI 自己的建议是让这台主机插着电并保持唤醒。

如果你本来就有一台常开的 Mac mini,到这里就可以了。这是环节较少的方案。

方案 2:直接在 Linux 机器上运行 codex remote-control

OpenAI 的 开发者命令 参考文档列出了:

codex remote-control          # run in the foreground
codex remote-control start    # start the local app-server daemon with remote control enabled
codex remote-control pair     # print a short-lived manual pairing code
codex remote-control stop

在 ChatGPT 手机应用中输入配对码。r/codex 的用户报告这在无头 Linux 上可行,但反复碰到两个要求:你需要用 ChatGPT 登录,而不是 API 密钥(帖子里引用的错误是 “remote control requires ChatGPT authentication”),另外有评论说 npm 版本对他们不起作用,而安装脚本版本可以。

大家报告的问题(Reddit,2026 年 7 月至 9 月,不同版本的情况会不同):

  • 手机连上了,几分钟后却显示欢迎界面,要求你连接 Mac 应用。
  • 能看到会话历史,但从手机发送消息时,它会自己分叉出去,而不是进入你已经在运行的 CLI 会话。
  • 更新后,手机表现得好像这台电脑从未配对过。帖子里一位 OpenAI 员工的回复指向 codex remote-control pair。

实际来看:这是一个真实存在的命令,值得一试,尤其是从手机开启新对话时。只是不要建立依赖它一直以同样方式运行的工作流,因为官方页面说 CLI 不是受支持的移动端设置途径。

方案 3:在手机上用 SSH + tmux

老牌可靠的方法。在服务器上:

tmux new -s codex     # or: tmux attach -t codex
codex

在手机上,用任意 SSH 客户端(Termius、Blink、Moshi,Android 上的 Termux)。如果网络经常切换就用 mosh,如果不想把 SSH 暴露到公网就用 Tailscale。

  • 优点: 不用信任任何新东西,适用于任何代理,tmux 保持会话,断线也不怕。
  • 代价: 你要在手机上阅读完整的终端界面。审查 diff、长长的审批提示,以及“三个窗格里哪个卡住了?”,都会让人疲惫。除非你自己配置 hook,否则没有推送通知。

如果你只是偶尔看看,这样就够了,而且免费。

方案 4:在 Linux 机器上运行的配套应用

如果你想用手机控制 Linux 机器上的 Codex,又不想让另一台电脑一直醒着,Happier 是一款开源应用,可以在手机、桌面或网页上跨设备运行和编排 Codex、Claude Code、OpenCode 等代理。这个领域还有其他应用,其中一些也支持 Linux 上的 Codex。下面的步骤介绍 Happier 的设置。

它的模式和方案 1、2 不同:你在 Linux 机器上安装 Happier CLI,它把这台机器注册为你账号下的一台机器,手机通过中继(Happier Cloud,或你自托管的中继)与机器通信。会话内容默认端到端加密。ID、时间戳和设备 ID 等元数据不加密。

1) 在 Linux 机器上安装 Happier

curl -fsSL https://happier.dev/install | bash
happier setup

happier setup 会询问使用哪个中继、帮你登录、注册这台机器,并设置后台服务开机自启。

如果你更想在桌面上操作,桌面应用也可以通过 SSH 设置远程机器(机器设置中的 Add machine over SSH,或在已安装 CLI 的电脑上运行 happier machine setup --ssh user@host)。

2) 确认机器上已安装 Codex 并已登录

happier install provider codex   # or: npm install -g @openai/codex
codex --version                  # shared TUI control needs 0.131.0 or newer

然后登录。你可以在机器上运行 codex login,也可以让 Happier 保存凭据:

happier connect codex --device   # device-code flow, handy on a headless box
happier connect codex --paste    # fallback: paste the redirect URL
happier connect codex --api-key  # API key mode

设备认证可能需要先在 ChatGPT 设置中启用 “device code authorization for Codex”。

3) 从任一端启动会话

从机器端(在 tmux 里,这样 SSH 断开时 TUI 依然存在):

cd ~/src/my-repo
happier codex

或者从手机:新建会话,选择 Linux 机器,选择 Codex,输入任务。

4) 在同一线程上同时使用手机和 TUI

从 Happier 0.2.13 起,在 macOS 或 Linux 上配合 Codex CLI 0.131.0 或更高版本,Happier 和 Codex TUI 会连接到同一个正在运行的应用服务器线程。你可以通过 SSH 在 TUI 中输入,然后在手机上批准下一条命令,两边都保持实时。如果会话是从手机启动的,在机器上运行 happier attach <session-id> 即可在同一会话中打开 TUI。

坦白说的限制:

  • 共享控制只适用于通过 Happier 启动的会话。如果你直接用 codex 启动了线程,Happier 无法在它运行时加入,因为 Codex 每个线程只保留一个活跃的写入方。
  • 在 Windows、ACP 模式或较旧的 Codex CLI 下,控制是独占的:来自手机的消息会等待终端那一轮到达安全的边界。
  • Linux 机器必须在线。Happier 解决不了关机的机器、断掉的网络或提供商故障,它只是让这台机器成为唯一需要保持唤醒的设备。

可选:如果你把 Herdr 用作终端复用器,Happier 0.2.16 版本把它加入为新会话的终端宿主(Herdr 0.9.2 或更高版本,macOS 和 Linux)。部分文档页面在更新之前仍把它标为开发版功能。

该选哪一个?

你有……选择
一台常开的 Mac 或 Windows PC,并且只用 CodexOpenAI 的 Remote(方案 1)
只有 Linux 机器,主要从手机开启新对话试试 codex remote-control(方案 2),保留方案 3 作为备选
只有 Linux 机器,想舒服地回应审批和审查 diff机器上的配套应用(方案 4)
不想安装任何新东西SSH + tmux(方案 3)

故障排查

“remote control requires ChatGPT authentication”

你是用 API 密钥登录的。对于方案 1 和 2,请用 ChatGPT 账号登录 Codex(运行 codex login 并选择 ChatGPT)。在 Happier 中,可以通过 happier connect codex --api-key 使用 API 密钥模式,但请确认会话要计费到哪个账号。

手机又显示“连接你的 Mac”的欢迎界面

这是方案 2 中常见的报告。重新运行 codex remote-control pair 再配对一次。如果反复出现,那就是这条路中不受支持的部分在暴露出来。想要稳定,就用方案 1 或 4。

手机发出的消息开启了新对话,而不是继续我的 CLI 会话

这就是方案 2 中大家报告的分叉行为。在 Happier 中,通过 happier codex(或从应用)启动会话,TUI 和手机就会共享同一个线程。用普通 codex 启动的线程无法实时加入。

Happier 显示 Linux 机器离线

在机器上:

happier daemon status --all

确认机器和手机使用的是同一个中继和账号。如果服务在运行但会话无法启动 Codex,检查 codex 是否在后台服务能看到的 PATH 中,而不只是在你的交互式 shell 里。

常见问题

用手机控制 Codex 需要 Mac 吗?

走 OpenAI 受支持的 Remote 路线需要:一台运行 ChatGPT 桌面应用的 Mac 或 Windows PC(截至 2026-10-11)。codex remote-control CLI 路线和第三方配套应用不需要。

工作是在手机上运行还是在云端?

四种方案中,代码和命令都在 Linux 机器上运行。手机只发送提示和审批。(Codex 云端任务是 OpenAI 的另一款产品,本文不涉及。)

Claude Code 也能这样做吗?

可以,而且 Anthropic 自己的 Remote Control 有不同的要求(用 claude.ai 登录,而不是 API 密钥)。见 如何用手机监控 Claude Code。

Happier 免费吗?

应用和 CLI 都是开源的。Codex 本身仍然通过你的 OpenAI 套餐或 API 密钥计费。

相关指南

codexlinuxmobileremoteself-host
最后更新: 2026-10-11