Shadowrocket Linux 版安裝:deb、rpm、AppImage 選擇與執行權限設定

依 Linux 發行版選擇 deb、rpm 或 AppImage,查看 apt、dnf 安裝指令,以及 AppImage 執行權限設定與首次啟動步驟。

本文重點

Debian、Ubuntu 系統優先使用 deb;Fedora 等使用 dnf 的系統優先使用 rpm。需要以單一檔案保存程式時,再考慮 AppImage。本文將先確認 Linux 發行版與 CPU 架構,再進行本機套件安裝、設定執行權限及檢查首次連線,適合準備在 Linux 桌面使用 Shadowrocket(小火箭),且已有自己的伺服器或訂閱設定的使用者。

一、先確認 Linux 發行版與架構,再選擇安裝格式

安裝格式與 CPU 架構是兩個獨立條件。deb、rpm 代表套件格式,無法據此判斷檔案是否適用於目前的處理器;AppImage 也不是跨架構通用檔案。請先執行下列兩個指令,記下發行版的 ID、ID_LIKE 與架構輸出,再到下載頁確認可用套件。

cat /etc/os-release
uname -m

uname -m 輸出 x86_64 通常對應 x64 或 amd64,輸出 aarch64 通常對應 ARM64。若下載頁未列出相符架構,請勿只憑副檔名嘗試執行,也不要將其他架構的檔案重新命名後安裝。可參考下表選擇格式。

目前系統建議格式處理方式
Debian、Ubuntu 及相容系統deb使用 apt 安裝本機檔案,並處理軟體來源中可取得的相依套件
Fedora、使用 dnf 的相容系統rpm使用 dnf 安裝本機檔案並檢查相依套件
其他 Linux 桌面環境AppImage先確認架構與執行需求,再設定執行權限

使用 rpm 不代表所有相關系統都採用 dnf;若發行版使用其他套件管理工具,請依該發行版的本機套件安裝方式操作。AppImage 雖方便保存及移動,仍受系統程式庫、掛載能力與桌面環境影響,無法保證能在所有 Linux 系統上直接執行。

二、整理本機檔案並完成安裝前檢查

開啟下載指南的 Linux 區段,選擇符合系統與架構的檔案。下載完成後,在檔案管理員中前往檔案所在資料夾,使用「在終端機中開啟」等系統功能進入該資料夾。下載資料夾不一定叫做 Downloads;桌面語言與瀏覽器設定不同,使用的路徑也可能不同。

  1. 確認系統資訊

    執行 cat /etc/os-release 與 uname -m,確認發行版系列及 CPU 架構。

  2. 選擇格式

    前往本站下載指南的 Linux 區段,依系統選擇 deb、rpm 或 AppImage,並儲存至目前使用者可存取的資料夾。

  3. 整理檔案

    為方便依照後續步驟輸入指令,可將已下載的本機檔案重新命名為 Shadowrocket.deb、Shadowrocket.rpm 或 Shadowrocket.AppImage;只需處理實際下載的檔案格式。

  4. 檢查資料夾

    在檔案所在資料夾開啟終端機,執行 pwd 和 ls -lh,確認目前路徑及檔案是否下載完整,再執行相應格式的指令。

後續使用的簡短檔名只是本機重新命名的慣例,並非下載伺服器上的檔名,也不代表需要另外尋找的版本。若保留原檔名,請將指令中的檔名替換成實際名稱;路徑含空格時,請用引號括住整個路徑。不要使用範圍過大的萬用字元,一次安裝資料夾內多個舊版套件。

套件管理工具安裝

本機 deb 套件
./Shadowrocket.deb
本機 rpm 套件
./Shadowrocket.rpm
安裝權限
使用 sudo 呼叫套件管理工具
日常啟動
使用目前的桌面使用者帳戶

安裝需要管理員權限,不代表圖形介面程式應以 root 身分執行。

執行 AppImage

本機檔案
./Shadowrocket.AppImage
執行權限
chmod u+x
儲存位置
由目前使用者擁有的本機資料夾
啟動方式
透過終端機執行或以檔案管理員開啟

檔案具備執行權限後,仍須符合所在檔案系統的執行與掛載條件。

三、安裝 deb:使用 apt 安裝本機套件

在 Debian、Ubuntu 系統中,建議使用 apt 安裝本機 deb 套件。指令中的 ./ 表示目前資料夾中的檔案;省略後,apt 可能會將輸入內容當成套件名稱搜尋,而不是讀取已下載的安裝檔。

sudo apt update
sudo apt install ./Shadowrocket.deb

第一個指令會更新目前已設定軟體來源的索引,第二個指令則讀取本機套件並嘗試滿足相依需求。執行前請查看 apt 顯示的操作摘要:若出現大量移除桌面元件、相依套件無法滿足或架構不符,請取消安裝,先確認發行版、軟體來源與檔案架構。不要強制略過相依性檢查。

之後手動更新 deb 時,也可以對新下載的本機套件執行 sudo apt install ./Shadowrocket.deb。安裝本機套件不代表會自動新增更新來源;除非下載說明明確提供相應機制,否則請勿認定系統更新程式會自動取得後續版本。

四、安裝 rpm:使用 dnf 檢查相依套件

Fedora 等使用 dnf 的系統可直接安裝本機 rpm。進入檔案所在資料夾後執行下列指令,查看 dnf 顯示的交易摘要,再確認安裝。不要將 deb 檔案的副檔名改成 rpm,這不會改變檔案內部的套件格式。

sudo dnf install ./Shadowrocket.rpm

dnf 會讀取套件資訊,並嘗試從目前已啟用的軟體來源解決相依需求。若安裝失敗,請保留完整錯誤訊息,先判斷是檔案不存在、架構不符、缺少相依套件,還是遭系統政策拒絕;這些情況的處理方式各不相同,重複點選桌面啟動圖示無法解決問題。

  1. 若看到 No such file or directory,請檢查檔名與目前資料夾,不要立刻變更系統設定。
  2. 若出現相依套件衝突或無法提供所需功能,請確認該套件是否支援目前系統,以及軟體來源是否正常。
  3. 若出現來源或簽章相關提示,請確認檔案確實來自本站下載頁,並遵循發行版的套件驗證要求;不要預設關閉驗證。
  4. 交易成功後,請從桌面應用程式清單開啟 Shadowrocket;若沒有視窗,改從終端機啟動實際安裝的程式,並保留錯誤訊息。

五、設定 AppImage 執行權限與首次啟動

執行 AppImage 時,通常不必先安裝,而是先為檔案新增執行權限。建議將檔案存放在目前使用者擁有的本機資料夾,避免直接從受限制的共用磁碟、暫存下載資料夾或外接裝置執行。確認檔名後,執行:

chmod u+x ./Shadowrocket.AppImage
ls -l ./Shadowrocket.AppImage
./Shadowrocket.AppImage

chmod u+x 只會為檔案擁有者新增執行權限,不需要使用 chmod 777。在 ls -l 的結果中,若擁有者權限欄位出現 x,即表示已設定該權限。從終端機啟動有助於查看錯誤,尤其適合排查雙擊後沒有反應的情況。

已新增權限,為什麼仍顯示 Permission denied?

先執行 ls -l ./Shadowrocket.AppImage 檢查擁有者與權限,再執行 findmnt -T ./Shadowrocket.AppImage 查看所在檔案系統。若掛載選項包含 noexec,請將檔案移至允許執行的使用者本機資料夾後重試,不要直接修改系統掛載設定。

顯示缺少 libfuse.so.2,應安裝哪個套件?

這表示執行環境可能缺少 FUSE 2 相容程式庫。Debian 或較舊版本的 Ubuntu 可先使用 apt-cache policy libfuse2 查詢;採用新套件名稱的 Ubuntu 可查詢 apt-cache policy libfuse2t64。只安裝發行版實際提供且適用的程式庫,不要為此移除 FUSE 3。

出現 Exec format error,是執行權限設定錯了嗎?

先使用 uname -m 查看系統架構,再用 file ./Shadowrocket.AppImage 查看檔案類型。若架構不符,請返回下載指南選擇相應檔案;重複執行 chmod 無法修正架構不相容。

終端機可以啟動,為什麼應用程式選單裡找不到?

AppImage 檔案能執行,不代表系統已建立桌面選單捷徑。請先保持檔案路徑固定,並確認能從終端機正常啟動;若需要選單捷徑,請依目前桌面環境的應用程式啟動器設定,加入該檔案的絕對路徑,不要指向之後會清除的暫存資料夾。

若錯誤明確與 FUSE 掛載有關,即使已安裝相容程式庫,也可能受容器環境或裝置權限限制。此時建議改用適合該發行版的 deb 或 rpm,不要直接授予整個圖形介面程式管理員權限。匯入網路設定前,請先以穩定啟動程式為獨立目標完成檢查。

六、首次連線:先驗證設定,再檢查流量處理方式

程式能開啟與代理連線可用是兩回事。本文以使用者已有自己的服務商與訂閱為前提:在 Home 新增既有伺服器,或在 Add Server 中依設定類型選擇 Subscribe,匯入既有訂閱;匯入後確認伺服器出現在清單中,並點選要使用的項目。不要將「匯入完成」視為「已建立連線」。

  1. 確認設定:檢查伺服器位址、連接埠、通訊協定與驗證欄位是否符合原始設定。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 的欄位各不相同,不能只修改 Type 就完成通訊協定轉換。
  2. 選取伺服器:在 Home 確認已選取目標項目,再開啟連線開關;若系統要求網路相關授權,請先閱讀授權範圍,再決定是否允許。
  3. 執行測試:使用 Connectivity Test 查看結果,再用瀏覽器瀏覽平常可存取的網頁,區分用戶端連線測試與實際應用程式流量。
  4. 分開檢查訂閱:訂閱更新失敗時,先確認原始連結有效且網路可連線;不要透過修改伺服器驗證欄位,來修復訂閱網址逾時。

Global Routing 決定已接管流量的處理方式。排查時每次只變更一個條件,避免同時切換伺服器、修改 DNS 又更換規則。以下比較的是 Shadowrocket 本身的流量處理方式,不代表啟用某個選項後,就一定能接管 Linux 上所有程序的所有流量。

Config

建議

依目前啟用的設定檔比對規則,實際流量可能使用 PROXY、DIRECT 或 REJECT。日常使用前,請先確認 Config 中啟用的檔案符合自己的網路需求。

適用情境:已有明確分流規則的日常連線。

Proxy

將已接管的流量以代理方式處理,適合與 Config 的結果進行短時間比對。這無法取代對系統代理、應用程式本身的代理設定或流量接管範圍的檢查。

適用情境:暫時判斷問題是否與規則選擇有關。

Direct

將已接管的流量以直連方式處理。若維持在 Direct,即使連線開關已開啟,也不能據此認定目標要求正透過選取的代理伺服器傳送。

適用情境:比對本機網路的直連狀況。

若 Connectivity Test 成功,但某個應用程式仍無法存取,請繼續檢查該應用程式是否讀取系統代理、是否有獨立的代理設定,以及目標網域符合哪一條規則。DOMAIN-SUFFIX 比對網域後綴,IP-CIDR 比對 IP 位址範圍,GEOIP 依 IP 地理資料庫判斷,FINAL 處理前面未符合規則的流量;規則結果不同不代表 Linux 安裝失敗。

下載 Shadowrocket