Chromebook Linux(Crostini)裝 Clash:訂閱匯入與系統代理對齊分步操作(2026)

Chromebook 上如果你開啟了 Linux 開發環境(Crostini),本質上等於在輕量化的 Debian 容器裡跑一般的 Linux 桌面與終端機——這也代表:ChromeOS 主畫面上的 Chrome 瀏覽器,與容器裡的 Clash,並不在同一個「系統代理」命名空間裡。許多人以為「在 Linux 裡按了開啟系統代理」就能讓整台機器上網都走節點,結果常變成只有部分應用生效終端機仍像直連。這篇以分步操作整理:訂閱匯入、本機代理埠對齊、環境變數與圖形介面中的系統代理觀念,並說明為什麼要先把「誰走容器、誰走 ChromeOS」說清楚,再談分流規則;亦可與一般 Linux 桌面的 Clash Verge 流程、以及需要跨邊界對齊埠的另一類教學(WSL2)對照閱讀。

先建立正確心智模型:ChromeOS、Crostini 與「誰在吃代理」

Crostini 讓你在 Chromebook 上取得一個以 Debian 為基底的 Linux 執行環境:你可以在裡面用 apt 裝套件、跑 VS Code、也能安裝圖形介面的 Clash Verge 類客戶端或僅跑命令列核心。這很接近在一般筆電上裝 Linux,只差兩件重要現實:第一,容器與 ChromeOS 的網路棧仍然隔了一層管理邊界,主系統瀏覽器不會因為你在 Linux 裡設了 Proxy 就自動跟著走;第二,Linux 側常見的「系統代理」實作,在精簡桌面或無完整設定面板時,未必會自動餵給所有行程,於是瀏覽器可吃、bash 卻沒吃到這種現象非常常見。

因此,把目標講清楚會省很多時間:若你要的是「在 Linux 終端機裡gitcurlnpm 走代理」,請優先把環境變數與工具各自設定對齊到同一個本機埠;若你要的是「ChromeOS 上的 Chrome 也能走節點」,那通常要另選路徑(例如 Linux 裡再裝一套瀏覽器、或使用 ChromeOS/Android 層可理解的 VPN/Proxy 方案),而不是假設 Crostini 的 Clash 會像 Windows 的「系統代理」一鍵套到全系統。若你對規則型代理代理群組還在起步階段,可先讀Clash 代理群組(proxy-groups)完全指南,避免訂閱已匯入但永遠不知道流量命中哪一組。

步驟一:啟用 Linux(Crostini)並完成基礎更新

在 Chromebook 的設定中開啟 Linux 開發環境(介面用語可能隨版本略有差異),第一次啟用會下載預設映像並建立你的 Linux 使用者。完成後建議先在終端機執行:

sudo apt update && sudo apt upgrade -y

基礎套件與憑證鏈更新到合理狀態,避免 HTTPS 訂閱網址在「憑證或時間」議題上先卡關。若你在校園網或公司網路,也要留意 captive portal 是否需要先暫停代理或直連登入,否則在容器裡看起來會像「DNS 或 TLS 全壞」。想從頭建立安裝—訂閱—分流的大圖,也可搭配本站Clash 使用教學對照自己的需求。

步驟二:安裝 Clash/客戶端:請只使用可信來源

實務上有兩條常見路線:① 圖形介面客戶端(例如社群維護的 Clash Verge 系列分支、或其他載入 Mihomo/Clash Meta 核心的 GUI);② 僅下載核心+自行準備設定檔。在 Crostini 這類環境,AppImage.deb 都很常見;重點是安裝路徑穩定、可用一般使用者身分更新訂閱,不要把所有東西都長期用 sudo 跑,否則設定與快取目錄會落在 root,日後更難除錯。

請務必只從可信來源取得安裝檔:代理工具權限極高,來路不明的安裝包風險非常大。一般使用者欲取得對應平台的安裝包與更新節奏,建議優先遵循本站下載頁所整理的方式;若你想了解開源授權、原始碼、Issue 或貢獻方式,可另行前往專案頁查閱,與「在哪裡下載安裝檔」分開看待即可。

步驟三:訂閱匯入、更新節點,並確認「使用中設定檔」

向服務商取得訂閱網址後,在圖形客戶端中通常會選擇新增訂閱、貼上 URL 並儲存。建議為訂閱取有意義的名稱,並在匯入後手動更新一次,確認節點清單真的載入。接著請務必在介面中選定目前啟用中的設定檔(用語依版本而異):最常見的「靜默錯誤」是訂閱有資料,但實際沒有套用到正在跑的那份 YAML,外觀看起來像連上了,其實規則仍是空的或舊的。

訂閱連結會過期、輪替、與帳戶狀態綁定;節點突然全滅不一定是程式壞掉。延伸閱讀訂閱連結那些事:為什麼失效、如何更新、怎麼選機場。另請勿把訂閱網址公開貼在公開社群,他人濫用可能導致你的帳戶被限速或停用。

步驟四:釐清本機埠:mixed、HTTP 與 SOCKS 要一致

多數 Clash 系客戶端會在本機開混合埠(mixed-port),或分開提供 HTTP 與 SOCKS。請在客戶端狀態/設定頁記下實際數字(常見如 7890,但請以你的畫面為準)。之後無論你用的是「系統代理」或「環境變數」,都要指到同一個實際存在的埠,並確認核心真的在監聽;若你只開了訂閱但沒有啟用系統入口,外面程式當然仍會直連。

若你打算讓同容器內的另一個程式透過區網位址連進來,請留意部分安全預設只允許本機迴環位址;此時仍以 127.0.0.1 測試最單純。想理解 TUN/透明模式與一般系統代理的差異,可搭配Clash TUN 模式深度解析;在 Crostini 裡,TUN 是否與你在一般裸機 Linux 上預期一樣順,往往更受容器權限與 ChromeOS 政策影響,遇到怪異行為時,先退回較保守的明確 Proxy 埠+規則通常較省時間。

步驟五:對齊「系統代理」與圖形程式

許多圖形客戶端提供「Set as system proxy/開啟系統代理」類開關。若你的 Crostini 桌面環境有完整的網路 Proxy設定後端,這通常能把願意遵守桌面 Proxy 的應用程式導向本機埠;但它仍不等於「所有行程」。如果你在客戶端裡開了系統代理,但某個 Linux App 仍直連,請先假設它不吃 GSettings/桌面 Proxy,改以該程式自己的代理欄位或環境變數處理。

和 Windows 上圖形客戶端「一鍵接管系統」相比(可參考Windows 11 首次設定裡對系統代理與模式的討論),Crostini 的堆疊更碎:你更需要固定一套驗證順序:先看核心是否啟動、再看埠是否正確、再看目標程式屬於哪一類(瀏覽器外掛自帶代理、或 CLI 只吃環境變數)。

步驟六:讓終端機穩定走代理:環境變數與 no_proxy

對 bash/zsh 使用者,最常見作法是在 ~/.bashrc~/.zshrc 末追加(請把埠改成你的實際 mixed/HTTP 埠):

export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
export all_proxy="socks5h://127.0.0.1:7890"
export no_proxy="localhost,127.0.0.1,::1"

all_proxy究竟用 HTTP 還是 SOCKS,請與客戶端實際開啟能力一致;若你只提供 HTTP 代理埠,硬寫 SOCKS 會得到看似「網路全死」的症狀。修改後請 source ~/.bashrc(或重開終端機)再測 curl -I https://example.com

若要讓 Git 獨立記住(避免只靠全域環境),可用:

git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

並在需要時git config --global --unset清掉。這種作法的精神與 WSL2 教學裡「不要假設系統會把 Proxy 餵進所有工具」相同,只是 WSL2 還多一個宿主 IP議題;在 Crostini 內若你只服務同一容器,多半仍以 127.0.0.1 指向本容器內的 Clash 最直覺。

💡 小提示 先把「同一個終端機視窗」測到穩定,再談永久寫入設定檔;這能立刻分辨是環境變數沒生效,還是根本連本機埠都沒通。

特別說明:為什麼 ChromeOS 的 Chrome 常常「完全不吃」Linux 裡的代理?

這不是設定檔寫錯而已,而是產品邊界:你在 Crostini 裡開的 Clash,監聽的是Linux 容器視角下的本機埠;而主畫面上的 Chrome 屬於 ChromeOS 應用模型,不會自動繼承 Linux 的「系統代理」。因此最常見的情境是:你在 Linux 終端機裡都正常了,但主瀏覽器仍像沒開代理。

可行方向(依你的風險承受度與政策而定)包括:在 Linux 內安裝 Chromium/Firefox 並讓它走明確代理;在 Chrome 使用合法的 Proxy 相關擴充(注意權限與信任);或在 ChromeOS/Android 層使用可被你理解的網路通道方案。重點是不要用同一套預期去硬套兩個不同執行環境。

為什麼會覺得「代理只對部分應用生效」?

整理成四類高頻原因:

  • 該程式不吃系統 Proxy:只認自己的設定或只讀環境變數。
  • 規則把流量指到直連:其實有命中規則,只是不是你以為的那條;可用連線日誌或客戶端日誌核對。
  • DNS/fake-ip 與應用程式各說各話:瀏覽器或 CLI 的工具鏈若繞過你看到的那套解析路徑,會表現得像「只有某網域永遠失敗」。
  • 你以為算在同一個系統,其實是 ChromeOS vs Linux:上文說的邊界問題。

若你想讓特定網域或 App 走指定節點,可在規則面用最小變因調整,參考自訂規則教學:讓指定 App 走指定節點;本篇則以「先把訂閱、埠與環境對齊」為主軸。

常見問題

Linux 裡顯示已開啟系統代理,但 curl 仍直連?

許多 CLI 工具預設不吃桌面「系統代理」,只吃環境變數或自身設定。請依上一節補上 http_proxyhttps_proxy 後再測,並確認沒有被 no_proxy 意外排除。

TUN 模式在 Crostini 要不要開?

視你的客戶端與權限而定;容器內開 TUN 有時比裸機 Linux 更易遇到政策限制。若你剛開始設定,建議先用明確埠+規則確認節點與訂閱正常,再考慮 TUN 擴大覆蓋,並參考上游文件的 ChromeOS 注意事項。

我可以讓整台 Chromebook「像 Windows 一樣一鍵全局上網」嗎?

Crostini 的設計目標是開發與 Linux 軟體相容,而不是取代整個 ChromeOS 網路棧;若你想盡量接近「全局」,通常要在 ChromeOS/Android 層找合規的通道方案,並理解其安全與相容性限制。

整體來說,在 ChromebookCrostini 裡用好 Clash,關鍵不是記更多指令,而是把「容器內」與「ChromeOS 主環境」分開思考:訂閱有更新、本機埠一致、需要走代理的程式用對入口(桌面 Proxy、環境變數或工具內設定),就能把「裝了像沒裝」收斂成可重現的檢查清單。若你正在找能長期承載規則型代理工作流程的客戶端,不妨從本站取得對應版本,實際感受分流與切換是否順手——相比其他同類工具,Clash 在規則彈性與社群生態上往往更利於長期維護。→ 立即免費下載 Clash,開啟流暢上網新體驗