本文適合準備在 Linux 桌面安裝 Shadowrocket 的使用者。先確認發行版與處理器架構,再從本站下載頁選擇 deb、rpm 或 AppImage;接著完成本機安裝、執行權限設定與首次啟動檢查。文中的指令會讀取實際下載檔案的路徑,不必猜測安裝檔名稱。連線測試以使用者已有服務商與訂閱為前提;安裝完成不代表已有可用線路。
1. 先確認發行版、架構與取得方式
deb、rpm 和 AppImage 是軟體發行格式,不是三種代理協定,也不能取代連線參數。Debian、Ubuntu 及採用相同套件管理系統的發行版通常選擇 deb;Fedora 等使用 dnf 的系統則選擇 rpm。其他桌面發行版可在執行環境符合需求時選用 AppImage,但「單一檔案即可執行」不代表相容所有 Linux 系統。
cat /etc/os-release
uname -m
getconf LONG_BIT
第一個指令會顯示發行版資訊,請留意 ID 與 ID_LIKE;第二個會顯示核心回報的機器架構;第三個可協助確認目前使用者空間的位元數。常見的 x86_64 與 aarch64 是不同架構。選對安裝檔格式後,仍須核對下載頁標示的架構;若沒有相符項目,請勿藉由更改檔名或強制安裝來略過檢查。
系統套件安裝
- deb
- Debian/Ubuntu,使用 apt
- rpm
- Fedora 系統,使用 dnf
- 安裝權限
- 套件管理作業通常需要 sudo
- 後續管理
- 安裝資訊會記錄在系統套件資料庫中
套件格式與 CPU 架構須分別相符,不能只看副檔名。
單一檔案執行
- 格式
- AppImage
- 檔案權限
- 目前使用者須具備執行權限
- 執行環境
- 仍受架構、系統函式庫與 FUSE 條件限制
- 儲存位置
- 建議放在個人目錄下的固定位置
AppImage 不透過 apt 或 dnf 安裝,也不保證會自動建立應用程式選單項目。
請從全平台下載頁進入 Linux 區段,安裝檔由本站提供。取得方式分為兩種:iPhone/iPad 版在 App Store 一次性付費 $2.99,系統需求以 App Store 頁面標示為準;Mac(Apple 晶片與 Intel)、Windows、Android、Linux 版免費。iPhone/iPad 版的開發者為 Shadow Launch Technology Limited,應用程式 ID 為 932747118。
2. Debian/Ubuntu:使用 apt 安裝本機 deb
建議使用 apt 安裝本機檔案,因為它會在處理套件時一併檢查相依性,並嘗試從系統已設定的軟體來源取得相依套件。先完成下載,再開啟 Bash 終端機並依照以下步驟操作。出現路徑輸入提示後,貼上實際檔案的完整路徑;輸入時不要額外加上引號。指令已妥善引用變數,可處理路徑中的空格。
-
下載 deb
開啟本站下載頁,進入 Linux 區段,確認架構後儲存 deb 檔案。請等到瀏覽器顯示下載完成,不要選取仍在下載中的暫存檔。
-
找到檔案
在檔案管理員中找到下載的檔案,透過內容檢視完整路徑;也可以在終端機輸入路徑時按 Tab 鍵自動補齊,避免手動抄錯檔名。
-
執行安裝
執行下方指令並輸入實際路徑,確認 apt 顯示的安裝計畫。若作業提示要移除大量無關軟體或架構不符,請先取消並查明原因。
-
確認啟動
安裝完成後,在桌面應用程式選單中尋找 Shadowrocket,使用一般使用者帳戶啟動,確認主視窗能正常開啟,再繼續匯入既有設定。
read -r -p "請輸入已下載 deb 的完整路徑:" pkg
if [ -f "$pkg" ]; then
pkg="$(realpath -- "$pkg")"
dpkg-deb -f "$pkg" Package Architecture
sudo apt update && sudo apt install "$pkg"
else
printf '%s\n' "檔案不存在,請檢查路徑。"
fi
realpath 會將路徑轉換為絕對路徑,讓 apt 明確處理本機檔案;若直接輸入沒有路徑前綴的檔名,apt 可能會將它視為套件名稱並進行搜尋。安裝期間所需的網路連線通常用於取得相依套件,並不代表本機 deb 尚未完整下載。若 apt update 已回報軟體來源錯誤,請先修復軟體來源或網路,再重新安裝。
3. Fedora 系統:使用 dnf 安裝本機 rpm
rpm 檔案也應交由發行版的相依性解析工具處理。以下使用 dnf 安裝本機 rpm,而非只執行底層安裝操作。系統可從已啟用的軟體來源尋找所需相依套件,但無法自動解決所有發行版差異;「系統能辨識 rpm」不代表任何 rpm 都適用。
read -r -p "請輸入已下載 rpm 的完整路徑:" pkg
if [ -f "$pkg" ]; then
pkg="$(realpath -- "$pkg")"
rpm -qp --queryformat '%{NAME} %{ARCH}\n' "$pkg"
sudo dnf install "$pkg"
else
printf '%s\n' "檔案不存在,請檢查路徑。"
fi
- 找不到檔案:確認路徑與大小寫。Linux 檔名通常會區分大小寫;路徑含有空格時,請保留指令中的雙引號。
- 無法取得相依套件:記下缺少的相依套件名稱,檢查目前的發行版與已啟用的軟體來源,不要任意加入其他發行版的軟體來源。
- 簽章或信任提示:先確認檔案來自本站下載頁,再閱讀完整錯誤訊息;不要將停用簽章檢查當成預設安裝步驟。
- 架構不相容:重新比對
uname -m與下載頁標示,不要使用強制架構選項繼續安裝。
dnf 顯示作業完成後,再從桌面啟動 Shadowrocket。若應用程式選單尚未立即更新,可登出桌面工作階段後重新登入。若安裝本身已失敗,重新整理選單不會補回缺少的檔案,請回到終端機處理安裝錯誤。
4. AppImage:設定執行權限後直接啟動
AppImage 通常以單一檔案儲存。請先將檔案放在預計長期使用的位置,例如個人目錄下的 Applications 資料夾,再設定執行權限;如此一來,之後建立的桌面捷徑較不會因移動檔案而失效。檔名與副檔名維持下載時的原樣即可,不必手動更名。
read -r -p "請輸入已下載 AppImage 的完整路徑:" app
if [ -f "$app" ]; then
app="$(realpath -- "$app")"
chmod u+x -- "$app" && "$app"
else
printf '%s\n' "檔案不存在,請檢查路徑。"
fi
chmod u+x 只會替檔案擁有者新增執行權限,不需要將檔案設為所有人皆可寫入。若檔案屬於其他使用者,請先確認下載與存放位置是否正確,不要直接以 sudo 啟動整個桌面應用程式。也可以透過檔案管理員的檔案內容介面啟用執行權限,但不同桌面環境的選單名稱並不一致。
AppImage 無法啟動:依錯誤類型處理
權限與存放位置
Permission denied:檢查ls -l輸出中的執行權限。- 已有執行權限仍遭拒絕:檢查所在檔案系統是否以
noexec方式掛載。 - 優先移至允許執行的個人本機目錄,再設定權限並重試。
架構與執行相依項目
Exec format error:優先確認安裝檔架構與系統架構是否相符。- 提示缺少 FUSE 或
libfuse.so.2:依目前發行版的套件說明安裝所需的相容函式庫。 - 提示缺少系統函式庫符號:確認執行需求,不要為了強行啟動而替換系統核心函式庫。
先在終端機直接執行並查看錯誤訊息,再處理相應問題;不要反覆按兩下或擴大權限來猜測原因。
FUSE 相關套件名稱會依發行版與系統版本而異,因此不適合將同一條安裝指令套用至所有系統。容器、受限的桌面工作階段,以及某些掛載環境也可能不允許必要操作。AppImage 能開啟桌面視窗,不代表系統已授予後續網路操作所需的所有權限。
5. 首次啟動:分開驗證安裝與連線
先確認 Shadowrocket 能以一般使用者帳戶開啟並保留基本設定,再測試連線。安裝檔負責讓程式執行;既有訂閱與設定則用於指定連線目標與流量分流。本文以使用者已有服務商與訂閱為前提;本站不提供、不販售也不推薦節點或訂閱,客戶端的取得費用也不是線路方案費用。
- 在
Home檢查既有連線項目;若需新增,點選右上角的+,在Type中選擇Subscribe,填入自己已有的訂閱連結並儲存,再更新訂閱。 - 確認更新後是否出現連線項目。連結取得失敗、驗證失效與「程式無法啟動」是不同問題,不應靠重複安裝來處理。
- 進入
Config檢查目前設定與規則,再於Global Routing中選擇適合測試目的的模式。 - 首次連線時請閱讀系統授權提示。若需要授權,請依照明確提示操作,不要將日常啟動方式改成一律使用 root。
以下比較僅說明路由模式的用途。選擇 Config 不代表所有連線都會直連或經過代理,實際結果取決於規則順序與對應策略;選擇 Proxy 也無法修正錯誤的位址、連接埠、密碼或傳輸參數。
Global Routing → Config
建議依目前設定中的規則決定連線策略。使用前請確認規則符合預期,尤其要留意末尾的 FINAL 如何處理先前未符合規則的連線。
適用情境:已有明確的分流設定,進行日常使用與規則測試
Global Routing → Proxy
以代理模式確認目前連線是否可用,協助判斷問題出在連線參數或規則選擇;實際涵蓋範圍仍受系統網路接管方式限制。
適用情境:短暫排查既有連線能否建立,不適用於證明所有應用程式都已接管
Global Routing → Direct
以直連模式對照基本網路狀態。直連能存取某個網站,只能表示該路徑可連通,無法證明既有代理連線正常。
適用情境:比對本機網路、DNS 與網站本身的連線狀態
排查期間先不要加入自動連線條件。若已啟用 Settings → On Demand,請先確認觸發條件,避免手動中斷後又因條件而重新連線。Scene 與自動化設定不能取代最基本的手動連線測試,也不要直接套用其他平台的系統 VPN 開關路徑到 Linux 桌面。
6. 更新、解除安裝與故障紀錄
更新前先儲存目前使用的設定,並確認既有訂閱的管理資訊仍可使用。deb 與 rpm 可再次使用相同的套件管理工具安裝下載頁提供的新檔案,由套件管理器判斷作業內容;不要以為安裝本機套件就會自動新增更新來源。AppImage 則應先結束正在執行的程式,再替換檔案,並重新檢查執行權限與桌面捷徑路徑。
| 格式 | 更新方式 | 解除安裝範圍 |
|---|---|---|
| deb | 使用 apt 安裝新下載且架構相符的檔案,並確認作業結果。 | 透過套件管理器依實際套件名稱移除;可使用 dpkg-deb 查詢套件名稱。 |
| rpm | 使用 dnf 處理新下載且架構相符的檔案,不要強制覆蓋不同架構。 | 透過 dnf 依實際套件名稱移除;可使用 rpm 查詢名稱。 |
| AppImage | 結束程式後替換檔案,並確認啟動捷徑指向正確位置。 | 刪除對應檔案與手動建立的捷徑;個人設定是否保留,須另外確認。 |
刪除程式不等於清除個人設定。遇到啟動問題時,不要先刪除整個使用者目錄或清理不明路徑;請先保留設定並記錄錯誤。向技術支援說明問題時,提供發行版、架構、套件格式、安裝指令與終端機錯誤訊息即可;請從紀錄中移除訂閱權杖、密碼與私鑰。
- 安裝階段失敗:記錄 apt 或 dnf 的首要錯誤、缺少的相依套件,以及作業是否完成。
- 啟動階段失敗:記錄是否能開啟視窗、AppImage 在終端機中的錯誤,以及執行權限與掛載條件。
- 連線階段失敗:記錄目前的 Global Routing 模式、訂閱更新結果與具體連線狀況,不要將所有問題都稱為「無法安裝」。
完成上述分類後,通常就能將問題定位在套件格式、架構、相依性、執行條件或連線設定其中一個環節。逐項處理比反覆更換三種安裝檔更有效,也能避免安裝正常時誤刪已儲存的設定。