為什麼 Linux 上常選擇「無圖形介面」的 Clash Meta
在 Windows 有 Clash Verge Rev、在 macOS 有 ClashX 系列、在 Android 有 Clash Meta for Android,這些圖形用戶端負責訂閱管理、規則編輯與一鍵切換。相對地,在 Linux 桌面或無桌面的伺服器環境,許多使用者會直接執行官方發行的 Clash Meta 核心二進位檔(社群常稱 mihomo),搭配一份 config.yaml,再用 systemd 管理行程與開機行為。這條路徑元件少、可腳本化,也方便遠端維護。
本文假設你熟悉基本終端機操作,並已在合法合規前提下使用代理服務;技術目標是讓 Clash Meta Ubuntu 或 Debian 系上的Linux 代理用戶端能穩定運作,並以 systemd 開機自啟維持長時間上線。若你尚未匯入過訂閱,可先對照本站 訂閱連結使用教學,再回來完成本機目錄與服務設定。
前置條件:發行版、權限與架構
以下步驟以 Ubuntu 22.04/24.04 LTS 與相近版本的 Debian 為例;套件管理指令使用 apt。請先確認系統為 amd64 或 arm64,以下載對應的預編譯檔案。你需要具備 sudo 權限,以便將執行檔安裝到 /usr/local/bin 或建立 systemd 單元。
若你打算使用瀏覽器或支援系統 Proxy 的程式,通常會搭配 HTTP/SOCKS 混合埠;若希望連同不依賴系統 Proxy 的命令列工具一併分流,則可能涉及 TUN 與額外權限,概念可延伸閱讀 Clash TUN 模式詳解。本篇先聚焦「核心常駐+本機代理埠可用」,TUN 作為進階選項。
取得執行檔並配置目錄
Clash Meta 上游會以壓縮包或單一二進位釋出,檔名常含架構與平台字樣。為降低下載風險,建議優先從本站整理的 Clash 下載頁取得與 Linux/Meta 核心相容的發行物,再自行解壓到合適位置。你也可以在獨立段落查閱 GitHub Release 以核對雜湊值或授權條款,但日常安裝包取得路徑仍建議以本站為主,與原始碼頁分開理解。
常見目錄配置如下(可依個人習慣調整):
- 執行檔:例如
/usr/local/bin/mihomo(請chmod +x)。 - 設定目錄:例如
/etc/mihomo或使用者家目錄下的~/.config/mihomo,內含config.yaml與規則快取。 - 服務帳號:若以專用系統使用者執行,請確保該帳號對設定目錄具備讀寫權限,避免更新訂閱時無法寫入。
proxy-providers 與 rule-providers 若使用相對路徑,請確認工作目錄與 systemd 的 WorkingDirectory 一致,否則容易出現找不到規則檔的錯誤。
撰寫 config.yaml 與本機埠
最小可行的設定需包含:連接埠(例如 mixed-port 或分開的 port/socks-port)、DNS 段落以避免惡性迴圈、proxies/proxy-groups 與 rules。若你使用機場訂閱,通常會透過 proxy-providers 自動拉取節點;規則則可參考 分流規則配置教學 的分層思路,維持「直連在前、兜底在後」。
編輯完成後,可用下列指令檢查語法是否可被核心載入(實際參數依你的執行檔名稱為準):
sudo /usr/local/bin/mihomo -t -d /etc/mihomo
若輸出顯示設定檔測試通過,再進入下一步手動啟動;若報錯,請先依訊息修正縮排、鍵名或檔案路徑。
手動啟動與連線驗證
在尚未建立 systemd 之前,建議先以前景模式啟動,確認本機埠有在監聽:
sudo /usr/local/bin/mihomo -d /etc/mihomo
另開終端機,檢查監聽埠(範例為混合埠 7890,請以你的設定為準):
ss -lntp | grep 7890
curl -x http://127.0.0.1:7890 -I https://www.example.com
若 curl 能取得預期回應,代表核心與規則大致正常。接著便可按 Ctrl+C 結束前景行程,改由 systemd 接手。
建立 systemd 服務:常駐與開機自動啟動
在 /etc/systemd/system/clash-meta.service 建立單元檔(路徑與使用者請視環境調整):
[Unit]
Description=Clash Meta (Mihomo) Service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=nobody
Group=nogroup
WorkingDirectory=/etc/mihomo
ExecStart=/usr/local/bin/mihomo -d /etc/mihomo
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
說明:User/Group 必須對設定目錄具備讀寫權限;若你將資料放在使用者家目錄,請改為對應的 Linux 系統帳號。Restart=on-failure 可在行程異常退出時自動拉起,適合長時間運作的 Linux 代理用戶端場景。
載入並啟用服務:
sudo systemctl daemon-reload
sudo systemctl enable --now clash-meta.service
sudo systemctl status clash-meta.service --no-pager
如此便完成systemd 開機自啟:開機進入多使用者目標後,服務會依單元設定自動啟動。若要檢視即時日誌,可使用:
sudo journalctl -u clash-meta.service -f
可選:為終端機設定 http_proxy
許多命令列工具會讀取環境變數而非系統 Proxy。若你採用本機 HTTP 或 SOCKS 埠,可在互動式 shell 設定(埠號請替換為實際值):
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7891
若要全使用者生效,可改寫入 /etc/environment 或使用者 ~/.bashrc;與 TUN 相比,這種方式較輕量,但仍依賴程式是否支援這些變數。更多全域分流觀念請參考 Clash 說明與教學文件。
常見狀況與除錯順序
- 服務起不來:先
systemctl status與journalctl查看是否為權限、設定路徑或埠占用。 - 能連 IP 卻無法開網頁:多與 DNS 或 fake-ip 設定有關,請比對核心日誌並檢查
dns區塊。 - 訂閱更新失敗:確認機器對外網路、時間同步(NTP)與 TLS 憑證,並避免訂閱網址外洩。
- 與防火牆/nftables 衝突:若同時使用 TUN 或自訂轉發規則,請檢查是否重複修改路由表。
結語:把 Linux 節點納入你的多平台代理架構
相較於依賴圖形介面,命令列部署的優勢在於可重複、可版本化、可自動化:同一份設定目錄可搭配 Ansible 或容器映像重建環境;systemd 則補上崩潰自復原與開機自動啟動,讓工作站或家用伺服器在重新開機後仍能維持一致的網路策略。當 Ubuntu 上的 Clash Meta 與你既有的 Windows、macOS、Android 教學並列時,整體知識版圖會更完整,維護成本也較容易預期。
若你希望取得已整理好的多平台用戶端與核心釋出連結,建議直接造訪本站下載頁選擇對應系統,再依本文完成 Linux 端的目錄與 systemd 設定;相較於四處搜尋來路不明的壓縮包,這條路徑通常更利於長期更新與安全檢核。→ 立即免費下載 Clash,開啟流暢上網新體驗