本文適用於使用 Linux 圖形桌面的 v2rayN 使用者。請依發行版與處理器架構選擇安裝套件,透過套件管理工具處理相依套件,再以一般使用者身分完成首次連線與桌面自動啟動設定。請留意「系統開機」與「使用者登入」的差異:本文設定的是登入圖形桌面後啟動用戶端,不是在無人登入時以系統服務執行。
先確認發行版與處理器架構
v2rayN 是桌面用戶端,可管理節點、訂閱與核心程序。deb、rpm 是套件格式,與節點協定無關。能否使用 VMess 或 VLESS 節點,還取決於所選核心、傳輸參數及伺服器設定。安裝前請先確認本機環境,協定錯誤不能靠更換套件格式解決。
cat /etc/os-release
uname -m
printf '桌面:%s\n工作階段:%s\n' "$XDG_CURRENT_DESKTOP" "$XDG_SESSION_TYPE"
Ubuntu / Debian
- 套件格式
- deb
- 套件管理工具
- apt
- x86_64 對應
- 通常標示為 amd64 或 x64
- aarch64 對應
- 通常標示為 arm64
請以 deb 套件的 Architecture 欄位及本機架構為準。
Fedora
- 套件格式
- rpm
- 套件管理工具
- dnf
- x86_64 對應
- x86_64
- aarch64 對應
- aarch64
amd64 並非只適用於特定處理器品牌,而是代表一種架構。
請前往用戶端下載頁,查看 Linux 安裝說明並選擇相符的處理器架構。本文不固定指定版本號與安裝套件檔名,以免升級後命令仍指向舊檔案。以下命令以 Bash 撰寫;執行時請輸入已下載檔案的實際路徑。路徑含空格也能使用,但輸入時不要額外加上引號。
使用套件管理工具安裝 deb 或 rpm
安裝本機套件時,建議優先使用發行版的套件管理工具解析相依套件。Ubuntu、Debian 使用 apt install,Fedora 使用 dnf install。若無法連線至軟體來源,相依套件解析也可能失敗;此時應先修復軟體來源的網路連線,不要強行略過相依套件。
-
確認套件路徑
在檔案管理員中找到下載的檔案並複製完整路徑。在終端機輸入路徑後,使用下列命令查看套件名稱、版本與架構,確認檔案適用於目前的發行版。
-
開始安裝
請只執行適用於目前發行版的命令組。查看套件管理工具列出的相依套件變更後,再確認安裝;若計畫移除大量桌面元件,請先取消並檢查是否混用了不同的軟體來源。
-
首次啟動
從桌面應用程式選單開啟 v2rayN。安裝時使用管理員權限,日常執行則使用一般使用者身分,兩者不可混淆。先保持視窗開啟,確認沒有核心啟動錯誤,再設定登入時自動啟動。
Ubuntu/Debian:安裝 deb 套件
read -r -p '輸入 deb 檔案的完整路徑:' pkg
pkg="$(realpath -- "$pkg")"
dpkg-deb -f "$pkg" Package Version Architecture
sudo apt install "$pkg"
使用本機絕對路徑,是為了明確告訴 apt 安裝磁碟上的檔案,而不是依名稱搜尋軟體來源。如果先前使用 dpkg -i 留下尚未設定的套件,可先執行 sudo apt --fix-broken install,檢查修復計畫後再確認。不要將強制忽略相依套件當成一般安裝步驟。
Fedora:安裝 rpm 套件
read -r -p '輸入 rpm 檔案的完整路徑:' pkg
pkg="$(realpath -- "$pkg")"
rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE} %{ARCH}\n' "$pkg"
sudo dnf install "$pkg"
先測試連線,再設定自動啟動
安裝成功只代表程式檔案已部署。首次開啟後,請先新增訂閱或匯入節點,再選擇節點測試連線。不同版本的選單分類可能有所調整;常見路徑是「訂閱分組」→「訂閱分組設定」,接著在「訂閱分組」選單中執行更新。若目前介面的文字不同,請以實際版本的選單為準,不要尋找其他平台用戶端名稱相同的按鈕。
前往「設定」→「參數設定」,查看本機監聽連接埠與監聽類型。這裡的 10808 僅為測試範例,不保證是所有版本的預設值;以下命令以該連接埠提供 SOCKS 或混合式入站為前提,執行前務必核對實際設定。先確認連接埠正在監聽,再不經桌面系統代理設定,明確指定代理進行一次請求測試。
ss -ltnp 'sport = :10808'
curl --proxy socks5h://127.0.0.1:10808 \
--connect-timeout 5 --max-time 15 \
--head https://example.com/
- 沒有監聽:檢查核心記錄、是否已選取節點,以及是否有啟動錯誤。請勿先修改桌面代理設定。
- 連接埠已被使用:確認占用者是否為另一個用戶端執行個體;停止重複執行的執行個體,或修改監聽連接埠並同步更新測試命令。
- 請求收到 HTTP 回應:表示這次明確指定代理的請求已成功送出;回應狀態碼不一定是 200,仍須搭配目標網站狀況判斷。
- 命令成功但瀏覽器無法使用:檢查瀏覽器與桌面代理設定。Linux 上並非所有程式都會讀取同一組系統代理設定。
socks5h 表示將目標網域交由代理端解析。這能減少本次測試對應用程式本機解析的依賴,但不能只憑這一次請求,就判定整個系統的 DNS 或所有應用程式流量都已依預期分流。
選擇登入時自動啟動的方式
桌面用戶端依賴使用者工作階段。日常桌面使用時,XDG 自動啟動檔案比建立系統層級服務更符合需求。它會在使用者登入圖形桌面時生效,不會讓用戶端在登入畫面出現前自動執行。以下兩種方式擇一即可,避免登入後同時啟動兩個執行個體。
XDG 桌面自動啟動
建議將已安裝的桌面啟動檔案複製到使用者的 autostart 目錄,保留套件提供的啟動命令、參數與圖示資訊。可直接檢查目錄內容,也方便還原設定。
適用對象:需要檢查設定並可移轉設定的 Linux 桌面使用者。
桌面設定介面
KDE Plasma 可在「系統設定」→「自動啟動」→「新增」中選擇「新增應用程式」,再選取 v2rayN。分類與按鈕文字會依 Plasma 版本而異;新增後請確認是否已有同名項目。
適用對象:希望透過桌面設定管理啟動項目的使用者。
如果目前版本的 v2rayN 已提供並啟用自動啟動選項,請先確認它實際建立的啟動項目,再決定是否使用本文的手動方式。不要同時保留用戶端自行建立、桌面設定建立及手動複製的啟動項目。關閉視窗後仍在系統匣執行,不代表已設定下次登入時自動啟動。
建立方便檢查的自動啟動檔案
先找出安裝套件提供的 .desktop 檔案,不要猜測程式一定位於某個固定目錄。以下查詢方式分別適用於 deb 與 rpm;請輸入安裝時確認的套件名稱。輸出結果中,優先選擇 /usr/share/applications/ 下對應 v2rayN 的主要啟動檔案。
查詢桌面啟動項目
# Ubuntu / Debian
read -r -p '輸入 deb 的 Package 欄位值:' package
dpkg -L "$package" | grep -E '/applications/[^/]+\.desktop$'
# Fedora:僅在 Fedora 上執行這一組
read -r -p '輸入 rpm 的 NAME 欄位值:' package
rpm -ql "$package" | grep -E '/applications/[^/]+\.desktop$'
以下使用 desktop-file-edit 編輯鍵值。Ubuntu、Debian 可執行 sudo apt install desktop-file-utils,Fedora 可執行 sudo dnf install desktop-file-utils 安裝所需工具。接著以一般使用者身分執行複製,不要在以下命令前加上 sudo。
read -r -p '輸入已安裝 desktop 檔案的完整路徑:' source
test -f "$source" && grep -E '^(Name|Exec|TryExec|DBusActivatable)=' "$source"
autostart_dir="${XDG_CONFIG_HOME:-$HOME/.config}/autostart"
target="$autostart_dir/v2rayn-login.desktop"
mkdir -p "$autostart_dir"
cp -- "$source" "$target"
desktop-file-edit \
--remove-key=Hidden \
--remove-key=OnlyShowIn \
--remove-key=NotShowIn \
--remove-key=DBusActivatable \
--set-key=X-GNOME-Autostart-enabled --set-value=true \
"$target"
desktop-file-validate "$target"
複製前請確認查詢結果確實指向目標程式,且 Exec= 是有效的啟動命令。此處沿用套件內的 Exec,移除桌面環境的顯示限制,並讓啟動項目直接執行命令,而非依賴 D-Bus 啟動。如果原始檔案包含 TryExec,其指向的程式也必須存在,否則桌面環境可能略過此啟動項目。
- 使用者目錄:若未設定
XDG_CONFIG_HOME,目標路徑為~/.config/autostart/v2rayn-login.desktop。 - 路徑規則:
Exec=並非互動式 Shell,不要直接填入~、$HOME,也不要以含管線的命令取代原本的啟動項目。 - 執行權限:XDG 自動啟動通常不要求桌面檔案具有可執行權限;檔案管理員提示「允許啟動」則是另一種互動操作。
- 更新維護:使用者目錄中的副本不會隨套件自動更新。升級後若啟動路徑有所變更,請從新版套件重新複製並檢查。
工具沒有輸出通常表示格式檢查已通過,但不代表程式一定能執行。儲存後請先正常結束用戶端,再登出桌面並重新登入;只重新開啟終端機無法驗證登入時的自動啟動。登入後等待桌面載入,檢查視窗、系統匣與本機連接埠,確認只啟動了一個執行個體。
相依套件、權限與登入問題排解
安裝時提示缺少相依套件,可以強制安裝嗎?
請先確認套件架構,再檢查軟體來源是否已啟用且可連線。Ubuntu、Debian 使用 apt 安裝本機 deb;Fedora 使用 dnf 安裝本機 rpm。如果目前發行版無法提供所需版本的程式庫,請核對該安裝套件的系統需求,不要任意將其他發行版的共享程式庫複製到系統目錄。
點擊圖示後沒有視窗,如何找出錯誤?
先確認程式是否已縮到系統匣,再查看桌面檔案的 Exec=。在一般使用者的終端機中,依照實際程式路徑與參數啟動;移除桌面檔案專用的 %U 等欄位代碼,並查看標準錯誤輸出。介面無法啟動與核心啟動失敗是兩個不同層面的問題,應分開處理。
手動可以開啟,登入後卻沒有自動啟動?
確認 autostart 檔案屬於目前登入的使用者,核對 Exec、TryExec,並檢查是否還留有 Hidden=true。可使用 journalctl --user -b 查看目前開機週期的使用者記錄;搜尋程式名稱或實際的可執行檔名稱,不要只依視窗是否出現來判斷。
登入後程式已執行,連線卻逾時?
先等網路連線就緒,再手動重試同一個節點。桌面自動啟動不保證網路已可用,訂閱更新失敗也不代表現有節點一定失效。重新執行明確指定代理的測試,區分網路尚未就緒、節點無法連線,以及應用程式未讀取系統代理設定等情況。
之前使用 sudo 啟動,現在無法儲存?
先結束用戶端,找出記錄中實際發生錯誤的使用者資料目錄,並使用 ls -ld 檢查擁有者。只有確認該目錄是目前使用者的用戶端資料後,才修正其擁有權;不要遞迴變更整個家目錄或系統安裝目錄的權限。透過套件部署的系統檔案仍應交由套件管理工具管理。
升級與取消自動啟動
升級時仍應使用適用於該發行版的本機安裝命令,並先結束正在執行的用戶端。安裝新版通常不會刪除使用者設定,但升級前仍建議備份實際使用的資料目錄,尤其是訂閱分組、路由與自訂設定。請以目前版本的設定或記錄為準確認目錄位置,不要認定程式安裝目錄就是唯一的資料目錄。
若只想停止登入時自動執行,不必解除安裝 v2rayN。刪除本文建立的啟動檔案即可;若另有桌面設定或用戶端建立的啟動項目,也須在對應位置停用。取消自動啟動不會自動結束目前已在執行的程序。
autostart_dir="${XDG_CONFIG_HOME:-$HOME/.config}/autostart"
rm -f -- "$autostart_dir/v2rayn-login.desktop"
- 升級完成後,從桌面選單手動開啟一次,確認設定可正常讀取,核心也能啟動。
- 再次檢查監聽連接埠,避免舊程序仍占用連接埠,導致誤判新版異常。
- 若保留自動啟動設定,請檢查新安裝套件的桌面啟動項目是否有變更;必要時重新建立使用者副本。
- 最後登出並重新登入一次,確認啟動行為,再另外檢查瀏覽器的代理設定。