Arch Linux 安裝 Clash Verge:用 AUR 與 systemd 使用者服務完成首次訂閱與自啟分步說明

若你習慣在Ubuntu 24.04.debAppImage、在 Fedora 用 RPM 套件,換到 Arch Linux 後最常踩的坑其實不是「指令比較進階」,而是把別篇 Linux 教學原封不動搬過來:路徑、套件名稱與服務管理細節都不一樣。這篇專注在 Arch 生態:用 AUR 取得圖形介面的 Clash Verge(常見社群分支如 Clash Verge Rev 會以不同 AUR 套件名稱出現)、把訂閱匯入與「使用中設定檔」做對,並用 systemd --user圖形工作階段登入後完成可重現的自啟。你會清楚知道何時該對照本站Ubuntu 24.04 的 Clash Verge 與 systemd 教學、何時該改看Fedora 與 SELinux/firewalld那篇,而不是把三邊步驟混在一起試錯。

為什麼 Arch 要獨立一篇,而不是沿用 Ubuntu/Fedora 流程?

Arch Linux滾動發行版:沒有「隔一年半載大版本升級」那種節點,函式庫與核心更新較頻繁,AUR 上的 PKGBUILD也會隨上游釋出調整。相較之下,Ubuntu長期支援版把「某個時間點的相依版本」凍結得較清楚;Fedora則在SELinuxfirewalld預設策略上多一層要核對的課題。若你在 Arch 上仍照抄「先加第三方 apt 來源」或「只講 firewalld 放行」這類句子,很容易發現指令根本不存在,或裝到的客戶端分支與預期不同。

Clash Verge本質仍是圖形殼,底層多半載入 Clash Meta/Mihomo 讀取 YAML、套用規則並管理節點;這點與其他發行版相同。差異在於:你如何取得二進位或打包結果執行檔最後落在哪個路徑,以及滾動更新後是否需要重建 AUR 套件。把這三件事先講清楚,後面的訂閱與 systemd --user 才會一次寫對。

若你對代理群組與策略還不熟,建議先讀Clash 代理群組(proxy-groups)完全指南,再回到圖形介面操作,會比較能對應介面上的名稱與實際 YAML。

安裝前準備:時間、DNS、編譯相依與使用者身分

在 Arch 上,HTTPS 憑證驗證訂閱 URL都假設你的系統時間正確;筆電雙系統或休眠喚醒後若時間漂移,常見症狀是「更新訂閱全部失敗」但瀏覽器偶爾仍可用。請先確認時區與時間同步服務正常。接著檢查 DNS:校園網、公司網或某些 DNS 過濾環境會讓訂閱網域解析異常;若你懷疑是解析問題,先用已知乾淨的網路完成訂閱匯入,再回到原網路除錯,通常最省時間。

AUR安裝時,許多圖形客戶端套件會依賴 Electron 或上游釋出的壓縮包;部分 PKGBUILD會在本地端下載並解包,而不是從官方 extra 倉庫直接拉已編譯套件。請先安裝官方文件建議的基本編譯工具鏈(社群常稱為 base-devel 這類中繼套件組),並理解:AUR 內容由維護者與社群貢獻,安裝前應自行閱讀 PKGBUILD與安裝腳本,確認下載網址與校驗方式是否合理。若你使用 yayparu 等 AUR 助手,只是把查詢與建置流程自動化,並不取代「看過再裝」的責任。

請盡量以一般使用者日常使用圖形程式;避免習慣用 sudo 啟動桌面應用程式,否則設定檔、快取與金鑰目錄可能落在 root 的家目錄,之後改回一般使用者開啟時會出現「像全新安裝」或權限錯亂。若你從 WindowsmacOS遷移設定概念,可先參考從 Clash for Windows 遷移到 Clash Verge Rev,再回到本機路徑。

💡 小提示 在 AUR 搜尋時關鍵字可用 clash verge;套件名稱可能含 revbin 等後綴,代表打包策略不同(例如是否直接使用上游編譯成品)。安裝前請以當下頁面說明為準。

用 AUR 安裝 Clash Verge:釐清「套件名」與「執行檔路徑」

實務上你會在 AUR 網站或助手搜尋結果看到多個相近條目;差異可能來自上游倉庫(官方線、社群 Rev 線)、更新頻率、是否內嵌特定版本的核心,或是否偏好發行上游已建好的二進位。這裡不替換任何特定套件名稱當作「唯一正解」,因為 AUR 條目會隨社群維護狀況變動;你應掌握的是檢查清單:

  • 維護者是否活躍、最近留言與打包版本是否跟上上游 Release。
  • PKGBUILD中的 source= 是否指向可信網域,是否有完整性校驗欄位。
  • 安裝完成後,用 pacman -Ql 套件名 查詢檔案列表,找出實際的桌面項目與執行檔路徑,供後續 systemd 單元使用。

Ubuntu 24.04 安裝文相比,Arch 較少出現「固定放在 ~/Applications 的 AppImage」這種單一路徑敘述;你更常遇到的是套件把執行檔裝在 /usr/bin或帶版本後綴的啟動器名稱。請以你機器上 pacman -Ql 的結果為準,不要硬抄網路上的 ExecStart=

取得客戶端與更新時,建議優先遵循本站下載頁所整理的方式,把「安裝檔來源」與「開源專案資訊」分開理解:前者關係到你日常更新是否一致、是否容易重現環境;後者則是授權、原始碼與 Issue 追蹤。若你需要查閱上游授權條款或貢獻指南,可另外前往專案頁,不必把 GitHub Release 當成唯一安裝入口。

首次訂閱匯入:與其他 Linux 版相同的「觀念」,不同的「干擾源」

向服務商取得訂閱網址後,在 Clash Verge介面中新增訂閱、貼上 URL、儲存並執行更新,這段流程與其他平台一致。請特別注意兩件事:第一,為訂閱取可辨識的名稱,避免三個月後只剩「sub1」而不知道哪一份是主要出口;第二,更新成功後要在介面中確認目前啟用/使用中的設定檔(用語依版本而異),避免「訂閱有節點但實際沒載入到使用中設定檔」這種靜默錯誤。

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

若你希望特定應用程式走特定節點,可在規則層面逐步加上條件;入門可參考自訂規則教學:讓指定 App 走指定節點。本篇先把「安裝來源正確、訂閱有更新、啟動可重現」做穩。

Linux 桌面:系統代理、TUN 與滾動更新後的「再確認」

Linux 桌面讓流量進入 Clash,常見仍是兩條路徑:① 桌面/應用程式可見的 Proxy 設定(概念接近系統代理),以及② TUN這類較廣覆蓋、較貼近路由層的做法。前者對瀏覽器與多數工具較友善;後者覆蓋面廣,但較容易與其他 VPN、虛擬機或公司網路路由衝突。TUN的架構觀念可對照Clash TUN 模式深度解析;在 Arch 上若核心或 iproute2 升級後行為改變,請先回到「模式與規則是否仍合理」,不要只換節點。

Fedora 工作站那篇相比,Arch 預設沒有 SELinux 強制類型那套敘事,但這不代表「完全不用管防火牆」:若你自行啟用 nftables 或第三方防火牆工具,仍可能影響本機埠或轉發。遇到連線問題時,請先區分是「訂閱/節點不可用」還是「本機轉送被擋」,再決定要不要動防火牆規則。

登入後自啟:為什麼選 systemd 使用者服務?

多數桌面環境提供「登入時自動啟動應用程式」的圖形設定,而 Clash Verge部分版本也有內建自啟選項。若你已經用內建方式穩定運作,不必強行改用 systemd。但若你希望行為可備份、可用 systemctl --user status 看見失敗原因、或在更換桌面環境時少重設一次,systemd 使用者服務通常更一致。

請把「開機自啟」理解成使用者登入圖形工作階段之後自動啟動。若你期待在尚未登入桌面時就先跑 GUI 程式,在設計上通常不合理,也不建議硬做。與 Ubuntu 文相同,我們把啟動時機綁在圖形工作階段相關的 target,降低 Wayland/X11 環境變數不完整造成的「服務顯示 running 但沒視窗」誤會。

建立 systemd --user 單元:以固定 ExecStart 為核心

以下流程假設你已能用同一使用者從選單或終端機啟動 Clash Verge,且你已用上一節的 pacman -Ql 或桌面檔查到實際執行檔絕對路徑。請勿直接複製範例中的使用者名稱或路徑。

  1. 建立使用者 systemd 目錄(若尚未存在):mkdir -p ~/.config/systemd/user
  2. 在該目錄新增單元檔,例如 clash-verge.service(檔名可自訂)。
  3. 重新載入:systemctl --user daemon-reload
  4. 啟用並立即測試:systemctl --user enable --now clash-verge.service
  5. 檢視狀態:systemctl --user status clash-verge.service,失敗時先看同一畫面的日誌摘要。

單元檔範例骨架如下(請將 ExecStart= 改成你的實際路徑;若套件提供的是帶參數的啟動指令,請完整寫入一行):

[Unit]
Description=Clash Verge (user graphical app)
PartOf=graphical-session.target
After=graphical-session-pre.target

[Service]
Type=simple
ExecStart=/usr/bin/clash-verge
Restart=on-failure

[Install]
WantedBy=graphical-session.target

systemctl --user 顯示 active (running) 但你看不到主視窗,請先比對「手動從選單啟動」的行為:有些版本預設以匣道/背景型態工作。若你真正需要的是「每次登入都跳出主視窗」,有時候在 ~/.config/autostart/.desktop 反而更直覺;systemd --user的強項是可觀測與可重啟,不是必然優於桌面內建自啟。

多數桌面使用者不需要 loginctl enable-linger;linger 主要讓使用者在未登入時仍可跑使用者服務,與圖形客戶端常見需求不完全相同。

驗證與除錯:把「套件更新」「程式啟動」「代理生效」拆成三件事

當你覺得「Arch 更新後突然不能用」時,建議依序釐清:

  1. 套件本身是否仍需重建:部分 AUR 套件在滾動更新後需要重新編譯或重新安裝;請以建置日誌與維護者說明為準。
  2. 服務是否真的在跑、ExecStart 是否仍正確:上游若更改執行檔名稱或路徑,舊單元檔會失效。
  3. 訂閱與模式:先更新訂閱並確認節點健康;再核對系統代理或 TUN 是否與目標應用程式相容。
  4. DNS 與 fake-ip:症狀若集中在特定網域,先對照解析與規則命中。

想建立從安裝到分流的整體觀念,可搭配本站Clash 使用教學,把 Linux 桌面與其他平台的做法對齊。

安全與信任邊界

代理/隧道類工具權限極高;請把客戶端來源上游服務商都納入信任評估。避免使用來路不明的「整合破解版」或內建未知節點的安裝包;穩健做法是客戶端只負責分流與介面展示,節點來自你自行評估的服務,並定期檢查訂閱內容是否異常。在公共 Wi‑Fi 遇到入口頁(Captive portal)時,常需先暫停代理或允許直連登入,完成後再啟用。

常見問題

AUR 裝完後找不到執行檔路徑怎麼辦?

請用 pacman -Ql 你的套件名 列出檔案,或在應用程式選單對圖示查看其啟動指令。路徑會隨套件打包策略而異,網路範例僅供格式參考。

為什麼照著 Ubuntu 文的 AppImage 段落做,在 Arch 上對不起來?

因為 Arch 社群更常直接使用 AUR/官方倉庫套件路徑,不一定會把 AppImage 當作唯一推薦。請以你實際選擇的安裝方式為準,並把 ExecStart 指到真實檔案。

滾動更新後一定要重設 systemd 嗎?

通常不必「重設」,但要重新確認 ExecStart 是否仍有效、以及服務是否仍為 enabled。若套件更新後改名,請同步修改單元檔並執行 daemon-reload

總結來說,在 Arch Linux上把 Clash Verge用好,關鍵是用 AUR 正確取得與更新套件、固定執行檔路徑、訂閱與使用中設定檔一致,再把登入後的自啟寫成可觀測的 systemd --user流程;這與「複製 Ubuntu 的 deb 步驟」或「只學 Fedora 的防火牆敘事」是不同維度的問題。若你希望長期用規則型代理維持穩定體驗,不妨從本站取得對應平台版本,實際感受分流與切換是否順手——相較於整機隧道式 VPN,Clash 在規則彈性與社群生態上往往更利於長期維護。→ 立即免費下載 Clash,開啟流暢上網新體驗