本文適合使用 Linux 圖形桌面的使用者。請依系統架構選擇 deb 或 rpm 套件,再透過系統套件管理器安裝。接著確認本機代理連接埠、設定目前使用者的桌面自動啟動項目,並釐清登入時啟動、系統代理與 TUN 權限之間的差異。命令以 Bash 為例;套件名稱與啟動路徑請以實際檔案為準,不必依賴固定版本的檔名。
一、Linux 發行版與安裝套件架構
v2rayN 是桌面用戶端,可管理連線設定、啟動代理核心並提供操作介面。安裝桌面套件不等於部署背景代理服務。本文假設您已進入 GNOME、KDE Plasma 等圖形工作階段;只有遠端終端機的伺服器不適合直接套用桌面自動啟動流程。
先執行以下兩個命令。/etc/os-release 用來辨識發行版,uname -m 用來辨識機器架構。別因為裝置名稱標示「64 位元」就直接選 x64 套件;ARM64 同樣是 64 位元架構。
cat /etc/os-release
uname -m
Debian / Ubuntu
- 套件格式
- deb
- 安裝工具
- apt
- x64 架構名稱
- amd64
- ARM64 架構名稱
- arm64
使用 dpkg-deb 讀取套件資訊,再交由 apt 處理可從套件庫取得的相依套件。
Fedora
- 套件格式
- rpm
- 安裝工具
- dnf
- x64 架構名稱
- x86_64
- ARM64 架構名稱
- aarch64
rpm 套件的架構欄位須與機器相符,不能直接安裝 deb 套件。
在下載頁的 Linux 分類中選擇對應套件:x86_64 機器選 x64,aarch64 機器選 ARM64。以下僅說明一般可寫入的系統;採用不可變根檔案系統的發行版,須依該系統的軟體部署機制另行處理,不能假設可透過 dnf install 在主機上安裝。
二、使用命令安裝 deb 與 rpm 套件
從客戶端下載頁儲存安裝套件。建議保留原始檔名,避免同時下載多種架構的套件而選錯。以下命令會提示輸入本機檔案路徑,可使用 Bash 的 Tab 鍵補齊;輸入路徑時請勿額外加上引號。每組命令請在同一個終端機工作階段中依序執行。
Debian/Ubuntu:使用 apt 安裝 deb 套件
read -r -e -p 'deb 檔案路徑:' package
package=$(realpath -- "$package")
dpkg-deb --field "$package" Package Version Architecture
sudo apt update
sudo apt install "$package"
先用 dpkg-deb 顯示套件名稱、版本與架構,確認無誤後再安裝。傳給 apt 的是本機絕對路徑,不是套件庫中的套件名稱。apt 可從已啟用的軟體來源解析相依套件,但無法提供目前發行版套件庫中沒有的程式庫版本。
Fedora:使用 dnf 安裝 rpm 套件
read -r -e -p 'rpm 檔案路徑:' package
package=$(realpath -- "$package")
rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE} %{ARCH}\n' "$package"
sudo dnf install "$package"
rpm -qp 只會查詢待安裝的檔案,不會安裝程式。實際安裝交由 dnf 處理,由它解析相依套件並記錄交易。若出現簽章或來源提示,請先確認下載來源與套件資訊,切勿為了繼續安裝而直接停用檢查。
使用套件管理器安裝本機套件
建議做法使用 apt install 或 dnf install 指定本機檔案。相依套件解析、檔案歸屬與後續解除安裝都會記錄在系統套件資料庫中,升級時也能清楚提示衝突。
適用情況:一般 Debian、Ubuntu 與 Fedora 桌面環境。
手動解開套件檢查
只解開檔案可用來檢視目錄結構,但不會自動完成完整安裝流程,也不保證應用程式選單項目與相依套件都已就緒。解開成功不代表客戶端已安裝完成。
適用情況:檢查套件內容、找出封裝問題,不建議用於日常安裝。
三、首次啟動與本機代理測試
安裝完成後,從桌面應用程式選單搜尋 v2rayN 並啟動。請先以一般使用者身分開啟介面,不要使用 sudo 啟動整個桌面程式。以管理員身分執行可能會建立 root 所有的設定檔,也會混淆桌面工作階段權限與網路權限。
-
開啟客戶端
在應用程式選單搜尋 v2rayN。若找不到項目,請先確認安裝是否完成,再依下一節的方法尋找實際的 .desktop 檔案;不要猜測可執行檔路徑。
-
匯入連線
複製既有的連線分享連結,在主視窗的「伺服器」選單中選擇從剪貼簿匯入。介面版本不同,選單文字可能略有差異;請確認匯入後的伺服器位址與連接埠符合預期。
-
選擇伺服器
在伺服器清單選取目標項目,透過右鍵選單的「設為作用中伺服器」啟用。先查看記錄是否有設定錯誤或連接埠占用,再繼續測試。
-
確認監聽連接埠
在「設定」→「參數設定」中確認本機監聽連接埠與代理協定,並與核心啟動記錄比對。以下範例使用 10808,僅在實際啟用該連接埠的 SOCKS 入口時執行。
先測試「在終端機明確指定代理」這條路徑,再設定桌面系統代理。如此可區分伺服器連線問題與桌面環境設定問題。以下三個數字是診斷命令的固定參數,不代表測速結果或所有版本的預設值。
ss -lntp 'sport = :10808'
curl --proxy socks5h://127.0.0.1:10808 \
--head --max-time 15 https://v2rayguanwang.com/
socks5h 表示將目標主機名稱交由 SOCKS 代理解析。若出現 Connection refused,請先檢查本機監聽狀態;若已連上代理但發生 TLS 錯誤或遠端逾時,再檢查節點參數、系統時間與對外網路。收到 HTTP 回應只代表這次請求有收到回應,不代表所有應用程式都已接管流量。
四、桌面自動啟動:登入後啟動 v2rayN
桌面使用者所說的「開機自動啟動」,通常是指登入圖形桌面後啟動客戶端。XDG 自動啟動目錄 ~/.config/autostart/ 正是為這種情境設計。電腦啟動但尚未登入時,這項機制不會執行;登出後也不能依靠它維持獨立的系統服務。
建議優先使用桌面環境提供的啟動項目管理介面新增應用程式。若需手動設定,請沿用安裝套件提供的桌面入口。原始入口通常已包含正確的 Exec、圖示與執行參數,比手動猜測 /opt/ 路徑更可靠。
find /usr/share/applications "$HOME/.local/share/applications" \
-maxdepth 1 -type f -iname '*v2rayn*.desktop' -print 2>/dev/null
若沒有輸出,可查詢安裝套件的檔案清單:deb 使用 dpkg-deb --contents "$package",rpm 使用 rpm -qpl "$package",其中 package 是前面讀取的安裝套件路徑。若已切換終端機,需重新讀取此變數。找到實際安裝的桌面入口後,再執行以下複製操作。
read -r -e -p '已安裝的 desktop 檔案路徑:' desktop
if test -f "$desktop"; then
install -Dm644 -- "$desktop" "$HOME/.config/autostart/v2rayn.desktop"
grep -E '^(Type|Name|Exec|TryExec|Hidden|OnlyShowIn|NotShowIn|X-GNOME-Autostart-enabled)=' \
"$HOME/.config/autostart/v2rayn.desktop"
else
printf '%s\n' '檔案不存在,請重新確認桌面入口路徑。'
fi
- 檢查執行目標:
Exec應指向已安裝的程式;若有TryExec,對應命令也必須存在。請保留原檔案中的參數與跳脫規則。 - 檢查停用標記:若有
Hidden=true,請使用文字編輯器改為Hidden=false。GNOME 環境若有X-GNOME-Autostart-enabled=false,也請檢查並改為啟用。 - 檢查桌面環境限制:
OnlyShowIn與NotShowIn可能會限制適用的桌面環境。確認欄位含意後再調整,不要直接刪除所有欄位。 - 檢查重複入口:客戶端本身的自動啟動開關、桌面啟動項目管理器與手動建立的檔案,只保留一套有效設定,以免同時啟動多個執行個體。
儲存後先正常結束客戶端,再登出並重新登入。不要只關閉視窗就認定程序已結束:有些設定會將視窗縮至系統匣。重新登入後,分別檢查介面、核心記錄與監聽連接埠;只看到系統匣圖示,還不足以證明代理已正常運作。
五、自動啟動驗收、升級與復原
自動啟動測試應涵蓋圖形工作階段與網路連線兩個階段。桌面可能已載入,但無線網路、名稱解析或遠端連線尚未就緒。開機後出現一筆逾時記錄,不必立即判定安裝失敗;等網路可用後,再重新發出一次明確指定代理的請求。
| 檢查項目 | 操作方式 | 結果說明 |
|---|---|---|
| 程式是否已啟動 | pgrep -af '[v]2rayN' | 確認主程序;若找不到相符的程序名稱,再透過桌面系統監視器確認。 |
| 核心是否正在監聽 | ss -lntp 'sport = :10808' | 依實際設定修改連接埠;若沒有監聽,請先查看核心記錄。 |
| 使用者工作階段錯誤 | journalctl --user -b --no-pager -n 100 | 檢查本次啟動的使用者記錄;桌面環境是否記錄啟動輸出,視環境而定。 |
| 停用手動設定的自動啟動 | rm -- "$HOME/.config/autostart/v2rayn.desktop" | 只刪除本文建立的使用者啟動項目,不會解除安裝客戶端。 |
升級前,先使用客戶端提供的匯出功能儲存連線設定,並記下本機監聽連接埠、路由模式與目前使用的核心。備份設定目錄時,請從目前客戶端介面或記錄確認實際路徑,不要直接套用其他系統的路徑到 Linux。設定可能包含連線憑證,備份檔也應限制存取。
下載新套件後,沿用相同的套件管理器安裝。安裝新版本前請先結束客戶端,避免舊程序仍在執行而誤判版本。手動複製的自動啟動檔不會隨桌面入口更新;若升級後 Exec 路徑有變,請重新複製並檢查停用標記。降回舊版也不一定能讀取新版寫入的設定,操作前請保留對應備份。
六、相依套件、桌面工作階段與代理問題
apt 顯示相依套件無法滿足,可以強制安裝嗎?
先確認套件架構與發行版支援範圍,再執行 sudo apt update 檢查軟體來源是否可連線。若先前透過 dpkg 留下尚未設定的套件,可執行 sudo apt --fix-broken install;執行前請先檢視即將安裝或移除的清單。若目前套件庫沒有所需的程式庫版本,忽略相依套件並不能解決執行問題。
rpm 已安裝,但點選選單沒有反應,該怎麼辦?
先查看實際的 .desktop 檔案中的 Exec。若要在終端機重現,請取出其中的可執行檔路徑與固定參數執行,不要將 %U、%F 等桌面欄位代碼直接當成終端機參數。若記錄指出缺少共享程式庫,可針對記錄列出的程式庫名稱執行 dnf provides 查詢提供者,再決定安裝相依套件或改用相容的套件。
重新啟動後沒有視窗,是自動啟動失敗了嗎?
先完成圖形登入,再檢查系統監視器、系統匣與本機監聽狀態。有些桌面環境預設不顯示系統匣,程序可能已在執行。若程序也不存在,請檢查使用者 autostart 檔案中的 Exec、Hidden 與桌面限制欄位,並確認啟動項目沒有寫入其他使用者的家目錄。
curl 透過代理正常,但瀏覽器沒有變化?
這表示明確指定代理的路徑可用,不代表桌面代理已生效。在 GNOME 中檢查「設定」→「網路」→「網路代理」,在 KDE Plasma 中檢查「系統設定」→「網路」→「代理」;選項名稱可能因桌面版本而異。也請檢查瀏覽器自己的代理政策,不要將 SOCKS 連接埠填入僅接受 HTTP 代理的欄位。
一般代理可用,但 TUN 顯示權限不足?
檢查 /dev/net/tun 是否存在,並閱讀目前版本的 TUN 權限提升提示。容器、受限工作階段或安全性政策可能會禁止建立網卡。不要為了消除提示而長期以 root 身分執行整個圖形客戶端,也不要任意授予不明程式網路管理權限;請先確保一般代理可用,再單獨處理 TUN 權限。
排查時請保留發行版名稱、uname -m 輸出、套件版本、桌面環境與第一筆明確錯誤。分享記錄前,請移除訂閱網址、連線識別資訊與伺服器憑證。安裝、啟動、監聽與應用程式代理是四個不同階段,依序確認比反覆重新安裝更容易找出問題。