本文適合準備在 Debian 12、Ubuntu 24.04、Fedora 42 等桌面發行版上執行 v2rayN 7.x 的使用者。內容涵蓋處理器架構判斷、deb/rpm 安裝、缺少相依套件的修復、Xray 核心選型、系統代理驗證、XDG 桌面項目與登入自動啟動,並說明 Wayland、GNOME、KDE Plasma 環境中容易混淆的差異。
安裝前確認發行版、架構與桌面工作階段
Linux 版 v2rayN 採用 Avalonia 桌面介面,其定位與 Windows 上的 WPF 發行版本不同。它可以在 Linux 圖形工作階段中管理訂閱、節點、路由規則與本機代理,但安裝套件仍須符合發行版的套件管理體系與 CPU 架構。Debian、Ubuntu 及其衍生系統通常選擇 deb 套件;Fedora、Rocky Linux 等採用 RPM 體系的系統則選擇 rpm 套件。
請先在終端機確認系統資訊,不要只根據桌面外觀判斷發行版。`amd64` 或 `x86_64` 對應常見的 64 位元 Intel/AMD 裝置,`arm64` 或 `aarch64` 對應 64 位元 ARM 裝置。下載頁的平台統一選擇 Linux,再依實際架構取得安裝套件。
cat /etc/os-release
uname -m
echo "$XDG_CURRENT_DESKTOP"
echo "$XDG_SESSION_TYPE"
deb 安裝套件
推薦交由 APT 處理相依套件,適用於 Debian 12、Ubuntu 22.04/24.04 與採用相同套件體系的桌面發行版。
適用於:Debian、Ubuntu 與 deb 系桌面環境
rpm 安裝套件
透過 DNF 安裝並登錄至 RPM 資料庫,升級、解除安裝與桌面項目均由系統套件管理員維護。
適用於:Fedora 與採用 rpm 套件體系的桌面環境
壓縮檔
適合沒有管理員權限或需要並行測試的環境,但程式路徑、桌面項目與升級都須自行管理。
適用於:臨時測試、使用者目錄部署
使用 deb 或 rpm 套件完成安裝
下載完成後,先進入安裝套件所在的目錄,再呼叫發行版自己的套件管理員。不要只使用低階工具強行解包,因為這樣可能不會自動補齊圖形函式庫、系統匣支援或桌面整合所需的相依套件。以下指令中的檔名請替換為下載頁提供的實際檔名。
-
確認安裝套件
執行
ls -lh *.deb *.rpm 2>/dev/null,核對套件類型與機器架構;x86_64 裝置不要安裝 aarch64 建置版本。 -
安裝套件
Debian/Ubuntu 使用
sudo apt install ./v2rayN-linux-x64.deb;Fedora 使用sudo dnf install ./v2rayN-linux-x64.rpm。 -
啟動用戶端
從應用程式選單搜尋 v2rayN。若桌面資料庫尚未更新,可以登出後重新登入,或在終端機執行
v2rayN查看啟動輸出。 -
選擇核心
開啟「設定」→「參數設定」→「Core 類型」,日常使用 VLESS、VMess 等節點時選擇 Xray,然後儲存設定。
-
匯入訂閱
進入「訂閱群組」新增訂閱網址,更新群組後選擇一個節點,再查看核心記錄是否已完成監聽。
# Debian / Ubuntu
cd ~/Downloads
sudo apt install ./v2rayN-linux-x64.deb
# Fedora
cd ~/Downloads
sudo dnf install ./v2rayN-linux-x64.rpm
透過 APT 或 DNF 安裝後,套件管理員會記錄檔案歸屬。之後取得新版安裝套件時,可以再次執行同類安裝指令完成覆蓋升級。設定資料通常位於目前使用者目錄,不應使用 root 身分直接啟動圖形用戶端,否則會產生屬於 root 的設定檔,導致一般使用者工作階段無法讀取原有訂閱。
處理相依套件、權限與啟動失敗
安裝失敗通常分為三類:套件架構不符、系統軟體庫缺少相依套件、圖形工作階段元件不完整。若終端機出現「wrong architecture」或「not supported architecture」,應重新檢查 `uname -m`;若 APT 回報無法滿足相依性,請先更新系統套件來源,再讓 APT 修復相依關係。
# Debian / Ubuntu 更新索引並修復未完成的相依套件
sudo apt update
sudo apt --fix-broken install
# Fedora 更新快取後重試本機套件
sudo dnf makecache
sudo dnf install ./v2rayN-linux-x64.rpm
# 查看程式是否已登錄至 PATH
command -v v2rayN
程式可以啟動但系統匣圖示沒有出現,不代表核心沒有執行。GNOME、KDE Plasma 與其他桌面環境對狀態系統匣的實作不同,應同時檢查主視窗、程序與核心記錄。在 Wayland 工作階段中,系統代理仍由桌面設定或環境變數接管,視窗採用 Wayland 或 XWayland 進行繪製則是另一個問題。
雙擊安裝套件後沒有任何反應?
開啟終端機進入下載目錄,使用 sudo apt install ./檔名.deb 或 sudo dnf install ./檔名.rpm。終端機會顯示具體的架構、相依套件或軟體庫錯誤。
啟動後主視窗一閃即逝?
先在終端機直接執行 v2rayN 保留錯誤輸出,再執行 journalctl --user -b | tail -n 80 查看目前登入工作階段的近期記錄。
訂閱更新一直顯示逾時?
確認系統時間與時區正確。若已有可用節點,先連線至該節點,再在訂閱設定中啟用透過代理更新;同時檢查訂閱網址是否誤複製了空格或換行。
節點已連線但網頁仍然無法開啟?
查看核心記錄是否正在監聽本機連接埠,再確認系統代理已啟用。常見的本機 HTTP 連接埠為 10809、SOCKS 連接埠為 10808,最終數值以「設定」→「參數設定」中的本機設定為準。
關閉視窗後程序仍在執行?
這是系統匣執行模式的常見情況。需要完全結束時,使用用戶端選單中的退出指令,並透過 pgrep -a v2rayN 確認圖形程序已停止。
完成桌面項目與應用程式選單整合
正式的 deb/rpm 套件通常會安裝 `.desktop` 檔案,讓 v2rayN 出現在應用程式選單中。桌面項目並非一般捷徑,其中包含程式名稱、啟動指令、圖示與分類資訊。系統級項目通常位於 `/usr/share/applications/`,目前使用者的覆寫項目則位於 `~/.local/share/applications/`。
若應用程式選單沒有立即顯示,可以先找出實際的項目檔案,再更新桌面資料庫。不要憑空建立錯誤的執行路徑;應先使用 `command -v v2rayN` 或查詢套件檔案清單,確認程式由套件安裝到哪裡。
# 尋找套件安裝的桌面項目
find /usr/share/applications ~/.local/share/applications \
-maxdepth 1 -iname '*v2rayn*.desktop' 2>/dev/null
# Debian / Ubuntu 查詢套件內的檔案
dpkg -L v2rayn | grep -E 'applications|/bin/'
# Fedora 查詢套件內的檔案
rpm -ql v2rayN | grep -E 'applications|/bin/'
# 更新目前使用者的桌面項目資料庫
update-desktop-database ~/.local/share/applications 2>/dev/null || true
推薦方案:系統套件負責程式,使用者目錄負責工作階段設定
系統級檔案
- 程式由 APT 或 DNF 安裝與升級
- 桌面項目儲存於 /usr/share/applications
- 解除安裝時由套件管理員清理已登錄的檔案
使用者層級設定
- 訂閱與路由設定屬於目前登入的使用者
- 將自動啟動項目放入 ~/.config/autostart
- 無需修改其他使用者的桌面工作階段
程式檔案與個人設定分離後,升級套件不需要重新建立訂閱群組,自動啟動也只會影響目前的桌面帳戶。
如果項目存在但圖示仍未出現,請先登出桌面工作階段再重新登入。部分桌面環境會快取應用程式清單,僅更新資料庫不一定會立即重建選單。手動編輯 `.desktop` 檔案時,也要注意 `Exec` 欄位不能指向已移動的壓縮檔目錄,檔案應儲存為 UTF-8 文字,並保持 `Type=Application`。
設定隨登入工作階段自動啟動
桌面用戶端所稱的「開機自動啟動」,更準確地說是「使用者登入圖形工作階段後自動啟動」。它依賴 XDG Autostart 規範,不應設定為 root 的 systemd 系統服務。這是因為 v2rayN 需要目前使用者的顯示伺服器、系統匣、設定目錄與桌面代理環境,在登入前啟動通常無法取得這些條件。
最穩妥的做法是沿用套件已提供的 `.desktop` 項目,將它複製到目前使用者的 `~/.config/autostart/`。如此一來,啟動指令與圖示路徑會與應用程式選單保持一致,也不需要重複填寫程式路徑。
mkdir -p ~/.config/autostart
desktop_file="$(find /usr/share/applications \
-maxdepth 1 -iname '*v2rayn*.desktop' -print -quit)"
cp "$desktop_file" ~/.config/autostart/v2rayN.desktop
chmod 644 ~/.config/autostart/v2rayN.desktop
grep -E '^(Name|Exec|Type|Hidden)=' \
~/.config/autostart/v2rayN.desktop
- GNOME:可透過「啟動應用程式」管理使用者層級的自動啟動項目;若系統未提供此介面,複製 XDG 項目同樣有效。
- KDE Plasma:可在「系統設定」→「自動啟動」中新增應用程式,也可以直接使用 `~/.config/autostart/`。
- 多使用者裝置:每位使用者分別維護自己的自動啟動項目,不應將個人訂閱設定放入系統級目錄。
- 暫時停用:將項目中的 `Hidden=false` 改為 `Hidden=true`,或直接移走使用者層級的 `.desktop` 檔案。
設定核心、系統代理與路由分流
安裝完成只代表用戶端可以執行,實際流量是否進入代理,還取決於核心、節點與系統代理。v2rayN 負責管理設定並啟動核心;Xray 負責處理 VLESS、VMess 等協定連線;系統代理則會將支援桌面代理設定的應用程式流量導向本機監聽連接埠。這三個層次需要分別檢查。
- 在「設定」→「參數設定」→「Core 類型」中選擇 Xray,儲存後重新啟動核心。
- 新增訂閱群組,更新訂閱並選擇延遲與可用性正常的節點,不要將訂閱網址直接當作單一節點連結匯入。
- 檢查本機 SOCKS 與 HTTP 監聽設定,常見組合為 `127.0.0.1:10808` 和 `127.0.0.1:10809`。
- 啟用系統代理後開啟一般瀏覽器進行驗證;若只有命令列無法連線,應檢查終端機程式是否讀取桌面代理設定。
- 依需求選擇全域或路由分流。規則會依序比對,網域規則、IP 規則與最終出口應避免彼此覆蓋。
| 檢查層級 | 具體位置 | 正常狀態 | 異常時優先處理 |
|---|---|---|---|
| 用戶端 | v2rayN 主視窗 | 訂閱群組與節點清單可見 | 重新更新訂閱,核對群組狀態 |
| 核心 | 核心記錄 | 沒有連接埠占用或設定解析錯誤 | 檢查 Core 類型、連接埠與路由規則 |
| 本機監聽 | 127.0.0.1 | 10808/10809 等設定的連接埠正在監聽 | 關閉占用連接埠的舊程序或修改連接埠 |
| 桌面代理 | 系統網路設定 | HTTP/SOCKS 指向本機監聽位址 | 重新執行設定系統代理的操作 |
| 路由 | 路由設定 | 目標網域依規則進入指定出口 | 檢查陣列順序與最終比對規則 |
對於終端機中的 `curl`、套件管理員或其他命令列工具,桌面系統代理不一定會自動生效。必要時可在目前的終端機工作階段設定 `http_proxy`、`https_proxy` 或 `all_proxy`,連接埠應與 v2rayN 的本機監聽設定一致。測試結束後使用 `unset` 清除變數,避免用戶端退出後後續指令仍嘗試連線至本機連接埠。
export http_proxy=http://127.0.0.1:10809
export https_proxy=http://127.0.0.1:10809
export all_proxy=socks5://127.0.0.1:10808
# 測試完成後清除
unset http_proxy https_proxy all_proxy
升級、解除安裝與日常維護
使用 deb/rpm 安裝的主要價值,是程式檔案能持續由系統套件管理員追蹤。升級前先正常退出 v2rayN,再安裝相同架構的新套件。升級完成後檢查「設定」→「參數設定」→「Core 類型」、本機連接埠與自動啟動項目,確認舊設定仍由目前使用者讀取。
解除安裝程式時,APT 與 DNF 會移除系統登錄的程式與桌面項目,但使用者目錄中的訂閱、記錄與自動啟動副本可能仍會保留。若只是準備重新安裝,不應急著刪除個人設定;若確定不再使用,請先備份需要保留的路由規則,再清理使用者層級的自動啟動項目。
# Debian / Ubuntu 解除安裝
sudo apt remove v2rayn
# Fedora 解除安裝
sudo dnf remove v2rayN
# 移除目前使用者的自動啟動項目
rm -f ~/.config/autostart/v2rayN.desktop
- 每次升級後啟動一次用戶端,檢查核心記錄是否出現設定遷移提示。
- 調整連接埠後,同步更新系統代理與終端機環境變數,不要只修改用戶端中的一處。
- 訂閱更新失敗時,先區分網路逾時、網址失效與憑證時間錯誤,再決定是否透過代理更新。
- 路由規則變更後,使用具體網域驗證比對結果,避免只憑節點顯示「已連線」判斷分流是否有效。
- 自動啟動異常時,優先檢查 `.desktop` 的 `Exec` 路徑,而不是將用戶端改為系統級服務。