本文適合已備妥 Linux 桌面環境與可用訂閱的使用者。先確認處理器架構,再用發行版的套件管理工具安裝 deb 或 rpm,接著確認本機代理監聽與桌面代理設定,最後設定登入後自動啟動。本文會區分圖形介面用戶端、代理核心與桌面工作階段,避免把「視窗已開啟」誤認為「所有應用程式都已透過代理連線」。
安裝前檢查:發行版、架構與桌面工作階段
v2rayN 是桌面設定管理程式,實際連線由它呼叫的代理核心處理。本文安裝的是圖形介面用戶端,需要可用的桌面工作階段;僅有終端機的伺服器不適用這種部署方式。請先在一般使用者的終端機執行以下指令,記下發行版、處理器架構與桌面環境。
cat /etc/os-release
uname -m
printf '桌面環境:%s\n工作階段類型:%s\n' "$XDG_CURRENT_DESKTOP" "$XDG_SESSION_TYPE"
Debian / Ubuntu
- 套件格式
- deb
- 安裝工具
- apt
- x86_64 對應
- x64/amd64 安裝套件
- aarch64 對應
- arm64 安裝套件
請以發行版版本及安裝套件宣告的相依需求為準,不能只憑副檔名判斷是否相容。
Fedora / openSUSE
- 套件格式
- rpm
- Fedora 工具
- dnf
- openSUSE 工具
- zypper
- 確認架構
- x86_64 或 aarch64
即使同為 rpm 系統,相依套件名稱也可能不同;安裝前請先檢視套件管理工具列出的交易摘要。
前往用戶端下載頁,選擇 Linux 及相符的處理器架構。請勿將 Windows 檔案當作 Linux 安裝套件,也不要只改副檔名來轉換套件格式。以下指令請在 Bash 中執行,並依提示輸入實際檔案路徑,不需依賴固定版本號或檔名。
安裝 deb:使用 apt 處理相依套件
在 Debian 或 Ubuntu 上,建議使用 apt 安裝本機 deb 套件。apt 會從已設定的套件來源解析相依套件;若只執行較底層的安裝指令,可能只完成解開封裝,留下未滿足的相依需求。輸入路徑時請直接貼上絕對路徑,不要另外加引號;後續指令已妥善引用變數。
read -r -p '請輸入 deb 檔案的絕對路徑:' package_file
dpkg-deb -f "$package_file" Package Version Architecture
sudo apt install "$package_file"
-
確認套件資訊
請核對顯示的套件名稱、版本與架構,確認它們與這次下載的檔案相符。若架構不符,請改用正確的安裝套件,不要使用強制忽略架構的參數。
-
確認安裝結果
確認 apt 已順利完成。若出現相依套件無法取得的訊息,請先檢查發行版的套件來源與支援版本,不要混用其他發行版的系統程式庫。
-
從應用程式選單啟動
開啟桌面上的應用程式選單,搜尋 v2rayN,並以目前登入的使用者身分執行。請勿使用 sudo 啟動圖形視窗,以免設定檔的擁有者變成管理員。
-
匯入並測試
在主畫面依序前往「訂閱群組」→「訂閱群組設定」,新增可信來源的連結後更新訂閱。不同版本的按鈕文字可能略有差異,請以目前視窗顯示為準。
若已安裝成功但選單中沒有項目,請先確認套件是否包含桌面項目檔。下列指令必須在仍保留 package_file 變數的同一個終端機中執行;若另開終端機,請先重新輸入檔案路徑。
package_name=$(dpkg-deb -f "$package_file" Package)
dpkg-query -W "$package_name"
dpkg-query -L "$package_name" | grep -E '/applications/[^/]+\.desktop$'
安裝 rpm:分別使用 Fedora 與 openSUSE 指令
rpm 是套件格式,不代表所有採用此格式的發行版都使用相同的執行環境。請先查詢套件資訊,再依發行版選擇一條安裝指令。不要同時執行 dnf 和 zypper,也不要略過相依性檢查來掩蓋缺少執行階段程式庫的問題。
read -r -p '請輸入 rpm 檔案的絕對路徑:' package_file
rpm -qp --queryformat '%{NAME}\n%{VERSION}-%{RELEASE}\n%{ARCH}\n' "$package_file"
# Fedora:執行這一條
sudo dnf install "$package_file"
# openSUSE:改執行這一條
sudo zypper install "$package_file"
- 無法解析相依套件:記下缺少的套件名稱,並確認目前發行版的套件庫是否有提供;不要任意替換系統圖形程式庫或加密程式庫。
- 確認來源可信度:閱讀套件管理工具的提示並確認檔案來源;不要把停用全域驗證當成一般安裝步驟。
- 安裝後立即退出:從應用程式桌面項目檔確認實際的啟動指令,並在終端機執行以查看錯誤訊息。請保留原有參數,不要假設執行檔一定位於某個固定目錄。
安裝完成後,可以查詢套件內的應用程式入口。這裡查詢的是已安裝檔案清單;若安裝程序失敗,請先修復安裝,再設定自動啟動。
package_name=$(rpm -qp --queryformat '%{NAME}' "$package_file")
rpm -q "$package_name"
rpm -ql "$package_name" | grep -E '/applications/[^/]+\.desktop$'
首次連線:先確認監聽,再設定系統代理
匯入訂閱、啟動核心與讓應用程式使用代理,是三個獨立步驟。請先選擇有權使用的伺服器,再查看記錄中的核心啟動結果。依序前往「設定」→「參數設定」,尋找本機監聽位址、連接埠與協定類型;設定項目所在位置可能因用戶端版本而異,請以實際設定與監聽狀態為準。
以上連接埠僅供說明設定,不代表所有版本的預設值。有些設定使用單一混合監聽連接埠,有些則分別提供 HTTP 與 SOCKS。只有確認本機確實有對應的監聽服務後,才能照此填寫;一般桌面使用時,請維持迴路位址,不必對所有網路介面開放監聽。
# 依實際連接埠調整比對條件
ss -lntp | grep -E ':(10808|10809)[[:space:]]'
# 僅在確認對應的代理協定與連接埠後測試
curl --proxy http://127.0.0.1:10809 --head --max-time 15 https://example.com/
curl --proxy socks5h://127.0.0.1:10808 --head --max-time 15 https://example.com/
socks5h 表示由代理端解析目標網域名稱。收到 HTTP 回應可作為此次請求成功抵達目標的證據,但不代表所有路由規則與網域解析路徑都正確。若顯示連線遭拒,請優先檢查監聽狀態與核心記錄;若本機連線已建立但請求逾時,再檢查伺服器、傳輸參數與網路。
GNOME 與 KDE:系統代理的適用範圍
桌面系統代理是提供給應用程式讀取的設定,不等於透明代理所有網路流量。瀏覽器、桌面元件與終端機程式讀取代理設定的方式可能不同。請先用一個明確支援代理的程式進行測試,再逐步套用到其他應用程式;避免同時修改系統設定、瀏覽器設定與環境變數,以免難以追查問題。
桌面系統代理
建議初次部署建議先使用手動代理。代理位址與本機監聽一一對應,發生問題時較容易判斷是用戶端、桌面設定還是應用程式行為所致。
適用情境:一般桌面瀏覽與逐項排查
在應用程式中個別設定
在瀏覽器或命令列工具中明確指定 HTTP、SOCKS 位址,只會影響該應用程式。適合不會讀取桌面設定的軟體。
適用情境:開發工具、終端機請求與隔離測試
TUN 接管
需要額外處理權限、虛擬網卡、路由與 DNS。這不是登入後自動啟動的必要條件,也不應用來修復本機連接埠沒有監聽的問題。
適用情境:了解路由影響且確實需要接管網路流量的使用者
GNOME 手動代理
依序前往「設定」→「網路」→「網路代理」,選擇「手動」。HTTP 與 HTTPS 欄位請填入可處理 HTTP CONNECT 的本機 HTTP 代理;SOCKS 欄位則填入 SOCKS 監聽連接埠。HTTPS 欄位並不表示本機代理入口必須使用 TLS。設定位置可能因發行版客製化而異,也可使用下列指令設定。
# 先記錄原值以便還原;請在目前桌面使用者的終端機執行
gsettings get org.gnome.system.proxy mode
gsettings list-recursively org.gnome.system.proxy.http
gsettings list-recursively org.gnome.system.proxy.https
gsettings list-recursively org.gnome.system.proxy.socks
# 只有範例連接埠與實際監聽一致時才執行
gsettings set org.gnome.system.proxy.http host '127.0.0.1'
gsettings set org.gnome.system.proxy.http port 10809
gsettings set org.gnome.system.proxy.https host '127.0.0.1'
gsettings set org.gnome.system.proxy.https port 10809
gsettings set org.gnome.system.proxy.socks host '127.0.0.1'
gsettings set org.gnome.system.proxy.socks port 10808
gsettings set org.gnome.system.proxy mode 'manual'
# 停用手動系統代理
gsettings set org.gnome.system.proxy mode 'none'
KDE Plasma 手動代理
開啟「系統設定」,搜尋「代理」,進入代理設定並選擇「使用手動指定的代理設定」。填入實際的 HTTP、HTTPS 與 SOCKS 入口後套用。KDE 設定主要供遵循相應桌面代理機制的軟體讀取;部分瀏覽器有獨立選項,終端機工具通常也需要另外設定。退出用戶端前,請先切換為不使用代理,避免應用程式繼續連線到已關閉的本機連接埠。
- 在瀏覽器中選用系統代理後仍未生效,請檢查是否有擴充功能或個別代理設定覆蓋系統設定。
- 若 curl 明確指定代理的測試成功、一般請求卻失敗,請先檢查應用程式使用的代理設定來源,而非重新安裝用戶端。
- 不要讓用戶端與手動指令碼同時反覆修改系統代理;選定一種管理方式後再進行驗證。
設定自動啟動:圖形介面登入後啟動,不是系統服務
桌面用戶端所說的開機自動啟動,通常是指使用者登入圖形桌面後啟動,並不代表登入前就能提供代理服務。建議使用桌面工作階段的 XDG Autostart 機制,沿用安裝套件提供的桌面入口,保留正確的執行檔路徑與參數,不要憑印象自行拼出 Exec 列。
-
先停用重複項目
在用戶端「設定」→「參數設定」中確認是否有開機啟動選項;若要採用下方的手動方式,請先停用該選項,避免兩個入口同時啟動。
-
找出桌面項目檔
使用前述的套件檔案清單指令,找出實際的 .desktop 路徑。請先確認應用程式選單能正常啟動,再將該路徑提供給下方的複製指令。
-
複製到使用者啟動項目
將桌面項目檔複製到目前使用者的 autostart 目錄,不要修改系統層級的入口。以下操作不需要 sudo。
-
重新登入驗證
退出用戶端並登出桌面,重新登入後檢查視窗或背景程序、連接埠監聽狀態與系統代理。不要只憑系統匣圖示判斷核心是否正在執行。
read -r -p '請輸入已安裝的 .desktop 檔案絕對路徑:' desktop_file
grep -E '^(Type|Name|Exec|TryExec|Hidden|OnlyShowIn|NotShowIn)=' "$desktop_file"
autostart_dir="${XDG_CONFIG_HOME:-$HOME/.config}/autostart"
mkdir -p "$autostart_dir"
cp -- "$desktop_file" "$autostart_dir/v2rayn-login.desktop"
複製前後請檢查 Type=Application 和 Exec=。若有 Hidden=true,或 OnlyShowIn、NotShowIn 排除目前桌面,請使用文字編輯器修正使用者目錄中的副本;不要修改系統原始檔案。GNOME 不一定會顯示系統匣圖示,請以程序、記錄與監聽狀態為判斷依據。
KDE 也可以在「系統設定」中搜尋「自動啟動」→「新增應用程式」,選擇 v2rayN;此方式與手動複製擇一使用即可。不要將圖形介面程式直接設為系統層級服務:服務通常沒有完整的桌面工作階段環境,可能導致視窗或使用者設定路徑異常。
# 移除本文手動建立的登入自動啟動項目
autostart_dir="${XDG_CONFIG_HOME:-$HOME/.config}/autostart"
rm -f -- "$autostart_dir/v2rayn-login.desktop"
常見問題:升級、啟動失敗與代理設定殘留
已安裝,點選圖示卻沒有視窗?
從套件清單找出桌面項目檔,查看 Exec 指向的程式,並在一般使用者的終端機中執行,記錄輸出內容。優先處理缺少執行階段程式庫、權限或圖形工作階段錯誤;若曾使用 sudo 啟動,請先找出實際設定目錄,再檢查檔案擁有者,不要遞迴修改整個家目錄的權限。
登入後用戶端已啟動,網頁仍然無法開啟?
先用 ss 檢查設定的連接埠,再執行明確指定代理的 curl 測試。確認核心已啟動、訂閱有效且已選擇伺服器後,再檢查 GNOME 或 KDE 的代理設定。視窗開啟不代表核心已成功建立連線。
退出用戶端後,網路反而無法使用?
檢查桌面是否仍使用 127.0.0.1 作為手動代理。GNOME 可將代理模式改為 none;KDE 則在代理設定中選擇不使用代理。應用程式個別設定與終端機環境變數也需要分別還原;修改環境變數後,已執行中的程序不會自動更新。
更新安裝套件後,自動啟動入口失效怎麼辦?
使用 apt、dnf 或 zypper 安裝同一套件名稱的新版本後,請重新查詢應用程式桌面項目檔,確認 Exec 路徑是否變更。使用者 autostart 目錄中的副本不會隨系統入口自動更新;確認新入口可以正常開啟後,再覆蓋舊副本。
請依固定順序完成部署驗收:確認套件管理工具已完成安裝、應用程式選單可以啟動、訂閱與核心記錄正常、本機代理測試成功、目標應用程式已讀取代理,最後登出並確認自動啟動正常。升級前請使用用戶端提供的備份功能,或備份實際資料目錄。訂閱連結與設定可能包含存取憑證,請勿在排障截圖中公開。