花了大概兩個晚上的時間,終於把我退役的 Pixel 8 變成一台可以從 Mac (我的 Air + Mini ) SSH 進去的 remote dev machine,用來跑 Opencode CLI 做一些簡單的實驗腳本編輯和執行。
基本流程其實不複雜:Termux 安裝 openssh、啟動 sshd、設定 ADB forward port,最後就可以從任一台 Mac 端直接 ssh 過去,看起來好像很順,不過在實際設定過程中,還是踩了不少坑...記錄一下,如果你有想手邊退役手機拿來跑 CLI AI agent 的開發者,也可以一起討論。
最終大概是長醬:
Mac Terminal → ADB forward (tcp:8022) → Pixel 8 Termux sshd → opencode
整個設定完成後,latency 在 USB 連線下大約 15–30ms,,對 opencode 這種 CLI 工具來說完全可以接受,感覺跟在 local 開 terminal 差不多,只有 docker 和 GPU 相關的指令不能跑(手機上本來就沒有)。
但你大概會跟我一樣,在以下這幾個地方卡住。
1:Termux 的 sshd 不會自己開機啟動
Termux 有一套自己的 ~/.ssh/authorized_keys 路徑,跟系統的 /data/ssh/ 不一樣,我把幾把ssh key 丟進系統路徑卻一直說 Permission denied,哪而都去不料,後來才發現 內部路徑是 /data/data/com.termux/files/home/.ssh/)
另一個問題是 Android 的電池最佳化會在螢幕關閉後砍掉 Termux 的背景行程。
解法有兩個:
- 去設定 → 應用程式 → Termux → 電池 → 選「無限制」(不建議,耗電有感)
- 裝
termux-services,然後配termux-wake-lock
我最後選方案 2,每天大概多噴 8–10% 的電,但至少 sshd 不會在寫 code 寫到一半的時候斷掉。
2:ADB Forward 在 USB 重插就失效
這是最煩的一個。
adb forward tcp:8022 tcp:8022
如果你跟我一樣用的是 MacBook,每天拔插外接裝置,一下接Air、一下接Mini,一天就要重複打若干次這條無意義的指令。
網路上有找到人家教的
WiFi ADB 也是一個選項:
adb tcpip 5555
adb connect <pixel8_ip>:5555
adb forward tcp:8022 tcp:8022
但 WiFi ADB 的 latency 波動比較大,我偶爾會遇到 200ms+ 的突發延遲,打指令時 lag 感偶爾會明顯,不過都在家裡Wifi 環境下好像還可以接受。
3:proot-distro 的網路隔離
這是比較意外的坑,而且事後證明我 整個毒駕搞錯了方向。
我在 Termux 裡裝了 proot-distro debian,想說在一個比較完整的 Linux 環境跑 opencode 會比較順,結果 opencode 在 proot 裡面一直報錯誤...
PRoot 是一種 user-space 的 chroot 實作,特點是不需要 root 權限就能做到 filesystem 層級的隔離,我本來以為是「proot 內部的 localhost 跟 Termux host 的 localhost 是分開的 namespace」,不過後來才知道,PRoot 只做 filesystem 層級的隔離,不做網路 namespace 隔離。localhost 在 proot 內外是同一個,TCP connection 應該直通不被擋。
在發現真正的問題不是網路後,而是 opencode 的 binary 依賴,問了小幫手才知道opencode 官方 binary 是 linked against glibc,而Termux 原生用的是 Bionic libc,但在 proot debian 裡有 glibc 所以沒問題,但 Termux host 上如果沒裝 glibc-repo + glibc,直接跑 opencode 會噴錯。
老實說這個方案有它的天花板,如果你要跑 LLM inference、GPU 加速的分析、或任何需要 Docker 的工作,手機 remote 不是好的解法,但如果只是想要一個隨時開機、低功耗、安靜無風扇的遠端 terminal 來跑 CLI agent,Pixel 8 + Termux + opencode 的組合是真的能用。
整個 setup 大概花了 30 分鐘設定,剩下 3 小時都在 debug ,但弄好之後的體驗確實滿不錯,雖然 Pixel 8 的 Tensor G3 雖然不能跑 GPU 運算,但 opencode 這類 CLI agent 的 CPU 負載並不高,12GB RAM 也夠它跑大多數的side project,不管在哪台電腦,雖時接上 Pixel 8 就可以繼續跑Code ,加上手機本來就 24 小時開機,多一個 sshd 背景服務其實沒什麼差別。
- Termux 官方文件:https://wiki.termux.com
- opencode 專案:https://opencode.ai / https://github.com/anomalyco/opencode
- opencode on Termux 社群封裝:https://github.com/guysoft/opencode-termux



