Linux 安裝 v2rayN:deb/rpm 套件安裝與開機自動啟動設定

在 Debian/Ubuntu 與 Fedora 上以 deb、rpm 套件安裝 v2rayN,補齊相依套件、設定桌面登入自動啟動,並排查系統代理與 TUN 權限。

本文速覽

在 Linux 桌面環境部署 v2rayN,建議先透過發行版套件管理器安裝,再以一般使用者身分確認系統代理,最後設定登入自動啟動與 TUN。本文適用於使用 Debian、Ubuntu 或 Fedora 圖形桌面的使用者,提供架構檢查、相依套件修復、桌面啟動器複製與權限排查指令。本文所說的「開機自動啟動」是指登入桌面後啟動用戶端,並非登入前執行的系統服務。

一、安裝前確認發行版、架構與套件格式

先確認系統環境,再選擇安裝套件。Debian、Ubuntu 通常使用 deb,Fedora 則使用 rpm;兩種套件不能只靠更改副檔名互換。v2rayN 是用戶端管理介面,實際代理連線由核心處理;視窗能開啟,不代表核心、路由與代理接管都已正常運作。

cat /etc/os-release
uname -m
getconf GNU_LIBC_VERSION

uname -m 輸出 x86_64 時,選擇對應的 x64 套件;輸出 aarch64 時,選擇 ARM64 套件。不要只根據「64 位元系統」來選擇,因為兩種處理器架構都可能是 64 位元。第三條指令用來記錄 glibc 版本;若程式提示 GLIBC_… not found,應確認安裝套件的系統需求,而非替換系統中的 C 函式庫。

Debian / Ubuntu

安裝套件
deb
安裝工具
apt
套件架構
amd64 或 arm64
檢查指令
dpkg-deb -f

優先使用 apt 同時處理本機套件與軟體來源相依套件。

Fedora

安裝套件
rpm
安裝工具
dnf
套件架構
x86_64 或 aarch64
檢查指令
rpm -qpi

由 dnf 解析相依套件,不要略過架構與相依性檢查。

前往下載中心選擇適用於 Linux、符合處理器架構的安裝項目。以下指令預設在安裝套件所在目錄執行,且該目錄只保留這次要安裝的一個 deb 或 rpm 檔案;不要在混有其他軟體套件的下載目錄中直接使用萬用字元安裝。

二、使用 apt 或 dnf 安裝並補齊相依套件

無論使用圖形化軟體安裝程式或終端機安裝,最後都應透過系統套件管理流程處理。終端機的優點是能保留完整錯誤訊息。安裝前先查看套件資訊中的名稱、版本與架構,確認與剛才選擇的平台相符。

Debian/Ubuntu:使用 apt 安裝本機 deb 套件

# 請在僅有這次要安裝的 deb 檔案的目錄中執行
dpkg-deb -f ./*.deb Package Version Architecture
sudo apt update
sudo apt install ./*.deb

這裡的 ./ 不可省略,它會告訴 apt 安裝本機檔案,而非從軟體來源搜尋同名套件。如果先前使用 dpkg -i 安裝後留下尚未設定完成的相依套件,可以執行以下修復指令。先檢視 apt 提出的操作計畫;若它打算移除目標套件,表示目前的軟體來源可能無法滿足相依需求,請勿直接確認。

sudo apt --fix-broken install
sudo dpkg --configure -a

Fedora:使用 dnf 安裝本機 rpm 套件

# 請在僅有這次要安裝的 rpm 檔案的目錄中執行
rpm -qpi ./*.rpm
sudo dnf install ./*.rpm

不要藉由強制忽略相依套件,讓安裝「勉強通過」。缺少共用程式庫、系統版本過舊、套件架構選錯,是三種不同問題。套件管理器可以補齊軟體來源中已有的相依套件,卻無法讓針對較新執行環境建置的程式變得相容於舊系統。

三、首次啟動:先確認核心,再確認系統代理

安裝完成後,從桌面應用程式選單啟動 v2rayN,先以一般使用者身分執行。不要用 sudo 啟動整個圖形介面,否則可能產生屬於管理員的設定檔,也會讓圖形工作階段、代理環境與權限問題混在一起。介面選單文字可能隨版本略有不同,以下依常見中文版介面的操作層級說明。

  1. 開啟用戶端

    在應用程式選單搜尋 v2rayN。若沒有出現視窗,請從安裝時建立的桌面啟動器查看 Exec= 指向的程式,在終端機執行該程式並保留錯誤輸出。

  2. 匯入訂閱

    開啟「訂閱群組」→「訂閱群組設定」,新增群組並填入可信來源提供的訂閱網址;儲存後回到「訂閱群組」,更新對應的訂閱。

  3. 啟動連線

    在伺服器清單選取項目並設為作用中伺服器,查看記錄中是否有核心啟動錯誤。VMess、VLESS 等協定參數應與伺服器端一致,不要為了消除錯誤而任意更動傳輸或安全設定。

  4. 確認連接埠

    前往「設定」→「參數設定」,確認本機監聽位址、連接埠與允許的代理協定。請以實際設定為準,並先維持僅限本機存取。

  5. 啟用代理

    在主視窗的「系統代理」中選擇「自動設定系統代理」,再檢查桌面環境的網路代理設定。先測試會遵循系統代理的應用程式,排查時不要同時啟用 TUN。

以下以 10808 示範診斷;這只是示範連接埠,不代表每次安裝的預設值。先確認該連接埠已設定為 SOCKS 或相容 SOCKS 的混合監聽,再執行第二條指令。socks5h 會將目標網域交由代理端解析;即使桌面已設定代理,終端機中的 curl 也不一定會自動使用代理。

ss -lntp | grep ':10808'
curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 30 -I https://example.com/

這組指令分別檢查「本機是否正在監聽」及「明確透過該代理能否送出請求」。收到 HTTP 回應只能證明這次請求成功,不代表所有應用程式都已透過代理連線。如果明確指定代理後請求成功,但瀏覽器仍失敗,應檢查瀏覽器代理設定、桌面代理設定或擴充功能設定,而非立刻重新安裝核心。

四、GNOME 與 KDE 的系統代理差異

Linux 的系統代理並非能統一套用到所有處理程序的開關。桌面環境通常會儲存一組代理設定,應用程式是否使用則由自身決定;終端機程式還可能讀取 http_proxy、https_proxy 等環境變數。GNOME 設定生效,不代表採用其他獨立設定機制的應用程式也會跟著使用。

依目前的桌面環境確認代理設定

GNOME 桌面環境
  • 開啟「設定」→「網路」→「網路代理」,確認啟用狀態與本機連接埠。
  • 使用 gsettings get org.gnome.system.proxy mode 讀取代理模式。
  • 使用 gsettings list-recursively org.gnome.system.proxy 查看相關設定。
KDE Plasma 桌面環境
  • 開啟「系統設定」→「網路」→「代理」,確認目前選取的代理方式。
  • 若目前版本的 v2rayN 無法同步桌面設定,請依監聽類型手動填入位址與連接埠。
  • 若瀏覽器有獨立的網路設定,也要確認它使用系統代理,而非其他固定設定。

GNOME 與 KDE 都應先確認單一應用程式的實際請求;桌面設定頁面顯示已啟用,並不足以證明流量確實經過代理。

手動設定時,位址通常填入 127.0.0.1,連接埠則依 v2rayN 實際監聽設定填寫。僅支援 SOCKS 的連接埠不能直接填入 HTTP 代理欄位。若已手動設定桌面代理,結束用戶端前也要手動還原,否則應用程式會繼續連線至已停止監聽的本機連接埠。

五、設定桌面登入自動啟動,而非系統服務

桌面用戶端需要圖形工作階段。日常使用較適合在登入後啟動,不適合直接設為管理員權限的開機服務。登入後啟動才能存取目前使用者的桌面代理、通知與設定目錄;系統服務則可能在桌面尚未就緒時執行,並使用不同使用者的資料路徑。

桌面登入後自動啟動

建議

使用發行套件提供的 desktop 啟動器,讓程式在目前使用者登入後執行。保留原始程式路徑與啟動參數,不要自行猜測安裝位置。

適用情境:GNOME、KDE 等桌面環境的日常使用。

以系統服務啟動

在使用者登入前執行,屬於另一種部署方式。不可直接將圖形用戶端的執行指令套用到系統服務,就認定桌面代理與權限會自動設定正確。

適用情境:明確需要獨立背景服務,且能單獨管理核心設定的環境;本文的桌面安裝方案不採用此方式。

KDE Plasma 可在「系統設定」→「自動啟動」→「新增應用程式」中選擇 v2rayN。GNOME 可使用桌面提供的「啟動應用程式」工具;若目前的發行版未提供此工具,可將已安裝的 desktop 檔案複製到 XDG 自動啟動目錄。以下指令請在一般使用者的 Bash 終端機中執行。

launcher=$(find /usr/share/applications /usr/local/share/applications \
  -maxdepth 1 -type f -iname '*v2rayn*.desktop' -print -quit 2>/dev/null)

if [ -n "$launcher" ]; then
  autostart_dir="${XDG_CONFIG_HOME:-$HOME/.config}/autostart"
  mkdir -p "$autostart_dir"
  cp -- "$launcher" "$autostart_dir/v2rayn.desktop"
  grep -E '^(Name|Exec|TryExec|Hidden|OnlyShowIn|NotShowIn|X-GNOME-Autostart-enabled)=' \
    "$autostart_dir/v2rayn.desktop"
else
  printf '%s\n' '找不到系統 desktop 啟動器,請先檢查安裝套件的檔案清單。'
fi

確認輸出中的 Exec= 是否仍指向存在的程式。如果檔案包含 Hidden=true、停用自動啟動的欄位或桌面環境限定欄位,請先了解這些欄位的作用再調整。找不到檔案時,不要自行捏造執行路徑:deb 可透過套件管理器查看已安裝的檔案清單,rpm 則可使用 rpm -ql 查看對應套件的檔案清單。

六、TUN 權限:釐清裝置、授權與路由

TUN 會透過虛擬網路裝置接管符合路由條件的流量,適用於不遵循系統代理的應用程式,但它不是解決所有連線錯誤的萬用開關。先確認一般代理運作正常,再啟用 TUN,才能區分伺服器連線問題與本機接管問題。Linux 下還涉及 TUN 裝置、網路管理權限、DNS 與路由變更。

ls -l /dev/net/tun
ip -brief link
ip route show
ip rule show

若 /dev/net/tun 不存在,應先確認系統是否支援並載入 TUN。管理員可依系統狀況使用 sudo modprobe tun;在容器或受限環境中,可能還需要主機允許存取該裝置,單純修改檔案權限無法解決問題。裝置存在,也不代表一般程序已取得建立介面與修改路由所需的權限。

關閉 TUN 後,再確認路由與網路是否恢復。不要為了「恢復網路」而大量刪除所有策略規則,這可能同時破壞桌面原有的網路連線。若需要在無人值守登入時啟動,應另外確認授權能否持續有效;手動確認過權限,不代表登入階段可以略過授權提示。

七、安裝與自動啟動常見問題

已安裝 deb,點擊圖示卻沒有視窗,該怎麼辦?

先從 desktop 檔案查看 Exec= 指向的程式,再於終端機執行。缺少程式庫、執行環境版本不符與先前的執行個體尚未結束,應分別處理。若先前曾以管理員身分執行,不要直接遞迴修改整個家目錄的擁有者;應先找出目前版本實際使用的設定目錄。

Fedora 回報缺少相依套件,可以強制安裝嗎?

先執行 sudo dnf install ./*.rpm,讓 dnf 列出缺少的相依套件名稱。接著確認架構、軟體來源與發行版需求。若軟體來源中沒有所需版本,請改用符合系統的套件或升級系統,不要以略過相依檢查來掩蓋問題。

登入後用戶端已啟動,為什麼網頁仍然無法開啟?

先查看記錄中的核心啟動結果,再使用 ss -lntp 確認監聽狀態。接著檢查系統代理是否指向正確的連接埠。登入時網路可能尚未就緒,可等網路連線正常後再嘗試;視窗出現不代表核心已成功啟動。

結束 v2rayN 後,瀏覽器也無法連線了?

開啟桌面的網路代理設定,確認是否仍指向 127.0.0.1 上已停止服務的連接埠;必要時切換為不使用代理。若終端機仍有異常,執行 env | grep -i proxy 檢查目前環境;若代理變數寫在 shell 設定檔中,需另行移除。

最後依固定順序驗收:一般使用者能啟動用戶端、核心記錄正常、明確指定代理的請求成功、桌面應用程式依預期使用代理、重新登入後只有一個用戶端執行個體,最後才測試 TUN。記錄發行版版本、用戶端版本、套件架構與關鍵錯誤行,就能留下有效的排查紀錄;分享紀錄時,請隱藏訂閱網址、憑證及其他私人連線資訊。

下載v2rayN