把手機變成隨身 Linux 工作站——ZeroTermux 工作流整合實錄
ZeroTermux 是什麼
ZeroTermux 是一款無需 Root 權限就能在 Android 手機上跑完整 Linux 環境的開源工具。它基於 Termux 做了大量功能擴充——側邊欄常用功能面板、容器管理、發行版一鍵安裝、字體替換、X11 圖形轉發——把原生 Termux 那個乾淨但貧瘠的終端,變成了一個帶操作介面的移動式 Linux 工作站。版本更新頻繁,目前已經是 0.119.1,幾乎每個禮拜都能看到新功能或穩定性修復。
適合誰?首先是隨時要處理程式碼或命令列任務的人——寫 Python 腳本、拉 Git 倉庫、跑 curl 測 API、練習 Linux 指令,這些以前非得坐在電腦前的小事,現在掏出手機就能做。其次是網路安全愛好者,在 ZeroTermux 裡裝 Kali Linux 就能隨手做滲透測試練習。還有一種人是不想在主力機器上折騰環境的——ZeroTermux 的容器機制讓你在手機上實驗任何發行版,主力環境不受影響。
安裝
ZeroTermux 的安裝包是一個 107MB 的 APK,從 ZeroTermux下載 獲取後安裝就行——這部分沒什麼特別的。但安裝後有幾件事是這款軟體特有的、第一次上手最容易踩的坑:
首先,首次啟動後別急著裝發行版,先讓 Termux 的 pkg 源完成初始化。很多人一進去就點左側欄的「發行版本」入口,結果安裝腳本在拉 proot 依賴時報 404 或版本衝突。等 pkg update && pkg upgrade 跑完再動發行版,能省掉八成的安裝失敗。
其次,容器與發行版的關係要搞清楚。ZeroTermux 預設有一個主力容器,但發行版(Ubuntu、Kali 這些)是跑在 proot 裡的,和容器是兩個維度。官方推薦的做法是新建一個專門容器來裝發行版,主力容器保持純淨狀態——這樣即使發行版折騰壞了,主力環境還在。切換容器的操作在左側欄「常用功能 → 容器切換 → 新建容器」,建完要重啟 ZeroTermux 才會生效。
第三,數據目錄別亂刪。ZeroTermux 會在 /sdcard/xinhao/ 下建兩個關鍵目錄:online_system 放離線發行版包,system 放多發行版共享數據。這兩個目錄跨容器共用,一個容器裝了離線包,另一個容器也能複用。手動清理手機存儲時掃到這兩個目錄,別順手刪了——刪 online_system 頂多下次裝發行版要重下,但刪 system 可能讓正在跑的發行版報錯退出。
最後,字體是個隱藏坑。預設字體如果不含 CJK 字符,終端裡的中文會顯示成方框。解決方法很簡單:下一個支援中文的等寬字體(推薦 Sarasa Mono SC 或 Noto Sans SC Mono),丟進 /sdcard/xinhao/font/,然後在「美化/UI 功能 → 字體設定」裡選它,重啟當前會話就生效。

舊流程:帶著筆電跑零碎任務的痛苦
我每週都有幾個固定的命令列任務——拉一個 Git 倉庫改兩行配置、跑 Python 腳本處理一下後台日誌、用 curl 測幾個 API 端點的回應時間。以前這些事怎麼做?三種方式:
方式一:帶筆電出門。 重、續航短、打開就要等兩分鐘。咖啡店 Wi-Fi 還不穩,Git clone 經常 timeout。而且筆電掏出来太顯眼,在通勤路上或聚會場所不方便。
方式二:開雲主機。 本質上是把筆電的問題換成了成本和啟動延遲。按小時計費的雲主機,每開一次至少花半分鐘 SSH 上去,然後做五分鐘的事關掉——算下來比手機流量還貴。而且臨時要改代碼時還得在網頁終端裡敲,那體驗簡直是在考驗手指。
方式三:等回家再做。 最省事但最糟——早上發現的問題要等到晚上處理,中間八個小時什麼都幹不了。有些臨時任務就是有時效性的,等到家問題可能自己消失了,也可能變得更糟。
三種方式沒有一個是順心的,直到我把 ZeroTermux 嵌進了這條工作鏈。
新流程:ZeroTermux 一條鏈解決
現在的工作流是這樣的:手機上 ZeroTermux 常駐,主力容器保持乾淨的 Termux 原生環境,另外建一個 ubuntu-main 容器專門跑 Ubuntu 發行版。所有需要 Linux 工具鏈的任務都在 ubuntu-main 裡做,原生容器只留給 Termux:API 這類 Android 橋接工具。
具體到每個任務的銜接:
Git 任務:在 ubuntu-main 裡 apt install git 裝好,SSH key 生成後加到 GitHub 帳號。之後任何時候想 clone 倉庫,就是打開 ZeroTermux → proot-distro login ubuntu → git clone …,全程三十秒以內。改完代碼 commit push 也一樣。
Python 腳本任務:Ubuntu 裡 apt install python3 python3-pip,腳本直接放在 Ubuntu 的 home 目錄。ZeroTermux 的 proot 預設會把 Termux 的 $HOME 映射到發行版的 home——這代表你在 Ubuntu 裡寫的 ~/.bashrc 也會影響 Termux 原生終端。對我來說這不是問題,反而省得維護兩份 alias 配置;但如果你想發行版有獨立的 home,得在 proot 啟動參數裡指定獨立路徑,這點在安裝腳本輸出時注意看提示就行。
網路測試任務:Ubuntu 裡裝 curl、wget、nmap,手機流量或 Wi-Fi 直接用。ZeroTermux 的網路棧走的是 Android 原生網路,速度和手機瀏覽器一樣快,沒有額外的虛擬化開銷。
這條鏈的關鍵是容器隔離 + 發行版原生工具鏈。原生 Termux 的包管理器(apt,但源是 Termux 自己的)裡有些包是經過 Android 裁剪的,行為和桌面 Linux 略有差異;而在發行版裡用的是 Ubuntu 原生倉庫的包,和你在 VPS 或本機上的體驗完全一致,不用再去記哪些命令在 Termux 裡行為不同。

最容易斷鏈的兩個環節
流程聽起來很流暢,但實際跑下來有兩個環節最容易出問題——解決方法也都來自樣本文檔裡踩過的坑。
第一個斷鏈點:網路不穩導致發行版安裝失敗。 發行版的安裝過程要下載 1.5GB 到 3GB 的包,手機網路抖一下就前功盡棄。解決方法是用離線包機制:在電腦上下好對應發行版的離線包,放到 /sdcard/xinhao/online_system/ 目錄,然後跑安裝腳本時腳本會自動檢測本地包、不再聯網下載。我把這個目錄裡常駐 Ubuntu 和 Alpine 兩個離線包——Alpine 只有 200MB,網路特別差時裝它保底。
第二個斷鏈點:手機存儲不夠導致 proot 崩潰。 發行版裝完後佔用 1GB 到 3GB,加上 Git 倉庫和腳本,手機存儲很容易告急。而且 ZeroTermux 的 proot 數據存在容器目錄裡,不是存在 SD 卡或 USB 存儲——這點沒法繞過。解決方法是養成定期清理的習慣:apt clean 清緩存、刪掉不常用的 Git 倉庫、用 ZeroTermux 自帶的「備份/恢復」功能(左側欄常用功能裡)把容器備份成 tar.gz 存到雲端,需要時再恢復。備份文件不大,一個乾淨的 Ubuntu 容器備份大概 500MB 左右。
效果與邊界
實跑了一個月下來,這個工作流帶來的改善是可數的:少了每次開雲主機的半分鐘 SSH 登錄,少了帶筆電出門的體力負擔,臨時任務的響應時間從「晚上回家再說」變成「掏出手馬上做」。每週至少有三到五個原本要等回家才能處理的任務,現在在通勤路上或咖啡店裡就解掉了。
但這條鏈也有明確的邊界:重負載編譯不行。在手機上編譯大型 C++ 專案或跑機器學習訓練,速度會讓你懷疑人生,而且發熱嚴重到手機會降頻保護。圖形應用有限。雖然 ZeroTermux 支援 X11 轉發,但真正的 GUI 應用(比如 IDE 或瀏覽器)在手機螢幕上操作體驗很差,而且 X 伺服器本身要額外裝、額外配置。長時間運行不穩。Android 會殺後台進程,ZeroTermux 如果被系統殺掉,proot 裡正在跑的進程會直接中斷——跑長任務時得把 ZeroTermux 鎖在前台、或者用 Termux:Boot 開機自啟加鎖定。
所以這條工作流的定位很清晰:輕量命令列任務的移動式補充,不是桌面或雲主機的替代品。當你需要做的事是「拉個倉庫改兩行」「跑個腳本處理日誌」「測幾個 API 回應」時,ZeroTermux 是最快最輕的選擇;當任務變重、變複雜,還是老老實實回到筆電或雲主機上。這種互補而不是替代的關係,讓整套工作流變得穩定而高效。
本文為個人基於網路公開資料整理編寫,非官方內容,僅供學習交流參考;軟體版權歸原作者所有,請支持正版;使用過程中遇到問題請查閱官方管道,本文不承擔任何責任。