本文適合使用 Linux 圖形桌面的使用者。先確認發行版與處理器架構,再透過系統套件管理工具安裝 v2rayN,檢查桌面捷徑、訂閱與本機監聽狀態,最後設定登入後自動啟動。此處的「開機自動啟動」是指登入桌面工作階段後啟動用戶端,而非在登入前以系統服務執行圖形程式。
一、確認發行版、架構與安裝方式
Ubuntu、Debian 通常使用 deb 套件,Fedora 通常使用 rpm 套件。套件格式與處理器架構是兩項不同條件:即使都是 deb 套件,也可能分別適用於 x86_64 與 ARM64。請先執行下方指令,再前往安裝套件下載頁選擇 Linux 對應檔案。本文不指定版本,請以下載頁提供的套件為準。
cat /etc/os-release
uname -m
x86_64 通常對應下載項目中的 x64 或 amd64;aarch64 通常對應 arm64。請勿修改檔名,將不相符架構的套件當成相容版本安裝。操作前須備妥圖形桌面與一般使用者帳戶;僅透過 SSH 連線的伺服器環境不適合直接套用桌面自動啟動步驟。
與發行版相符的套件
建議Ubuntu、Debian 使用 apt 安裝本機 deb 套件;Fedora 使用 dnf 安裝本機 rpm 套件。套件相依性、已安裝檔案查詢與移除作業都交由系統套件管理工具處理。
適用對象:希望保留清楚安裝紀錄的桌面使用者。
解壓縮後執行的發行套件
僅在下載頁確實提供適用架構的壓縮檔時使用。解壓縮後的資料夾須長期保留,桌面捷徑與啟動路徑也需要自行維護。
適用對象:需要自行選擇程式資料夾,且能維護啟動路徑的使用者。
二、在 Ubuntu 與 Debian 安裝 deb 套件
將下載的 deb 檔放入專用資料夾,確認資料夾內只有這次要安裝的 deb 檔,再於檔案管理員中選擇「在終端機中開啟」。下列指令適用於 Bash;指令會讀取套件內的中繼資料取得實際套件名稱,不依賴下載檔名的格式。
# 目前資料夾中只能有一個要安裝的 deb 檔案
set -- ./*.deb
if [ "$#" -eq 1 ] && [ -f "$1" ]; then
pkg=$(dpkg-deb -f "$1" Package)
dpkg-deb -f "$1" Package Version Architecture
sudo apt update
sudo apt install "$1"
else
printf '%s\n' '請在僅含一個目標 deb 檔案的資料夾中執行。'
fi
sudo apt install ./檔案名稱.deb 中的相對路徑很重要,這會告訴 apt 安裝的是本機檔案,而不是軟體來源中的套件名稱。apt 會嘗試從已設定的軟體來源補齊宣告的相依套件。如果出現「相依套件無法滿足」的訊息,請先確認發行版版本、套件架構與軟體來源狀態,勿直接使用強制忽略相依性的選項。
確認套件資訊
查看上方輸出的 Package、Version、Architecture,確認套件是本次下載的檔案,且架構相符。請記下 Package 欄位,之後查詢或移除套件時會用到。
完成安裝
確認 apt 顯示的作業摘要後,等待安裝完成。如果 apt update 失敗,請先排除軟體來源或網路問題,再繼續安裝。
尋找桌面捷徑
在同一個終端機執行下方指令,找出套件內的桌面捷徑與可執行檔。請勿預設程式一定安裝在某個固定資料夾。
首次啟動
開啟桌面應用程式選單,搜尋 v2rayN,並以目前的一般使用者帳戶啟動。安裝時需要管理員權限,不代表日常執行也應使用 sudo。
# 繼續使用上一步取得的 pkg 變數
dpkg -L "$pkg" | grep -E '/applications/.*\.desktop$|/bin/'
三、在 Fedora 安裝 rpm 套件並檢查相依性
Fedora 使用 dnf 安裝本機 rpm 套件。與安裝 deb 的步驟相同,請先將目標 rpm 單獨放入一個資料夾,再於該資料夾開啟 Bash 終端機。請勿同時放入多個版本或不同架構的 rpm,以免選錯檔案。
# 目前資料夾中只能有一個要安裝的 rpm 檔案
set -- ./*.rpm
if [ "$#" -eq 1 ] && [ -f "$1" ]; then
pkg=$(rpm -qp --queryformat '%{NAME}' "$1")
rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE} %{ARCH}\n' "$1"
sudo dnf install "$1"
else
printf '%s\n' '請在僅含一個目標 rpm 檔案的資料夾中執行。'
fi
# 安裝成功後,在同一個終端機查看桌面捷徑
rpm -ql "$pkg" | grep -E '/applications/.*\.desktop$|/bin/'
安裝成功但點擊後沒有視窗時,先查看套件內的 .desktop 檔案,找出 Exec= 那一行,再於終端機執行其中的實際程式路徑並查看錯誤訊息。如果該行包含 %U、%F 等桌面捷徑欄位代碼,手動測試時請勿將這些代碼原樣輸入終端機。
- 若提示缺少共享程式庫:記下錯誤訊息中顯示的確切程式庫名稱。Fedora 可使用
dnf provides '*/libX11.so.6'這類查詢尋找提供該程式庫的套件;請將範例中的程式庫名稱換成實際錯誤項目。 - 若提示 ICU 或執行環境問題:先確認套件是否已內含執行環境,再確認是否支援目前使用的發行版。各發行版的 ICU 套件名稱與版本不同,請勿未經確認就安裝一連串舊版相依套件。
- 若提示無法連線至顯示服務:請確認程式是在已登入的圖形工作階段中啟動,而非一般 SSH 工作階段或系統開機工作。
- 視窗正常但看不到系統匣圖示:先確認桌面環境是否支援系統匣。看不到系統匣圖示不代表程式安裝失敗,也不代表代理核心已停止。
確認桌面程式正常運作後,再繼續設定網路。請勿為了排除單一啟動錯誤而停用 SELinux、放寬整個安裝資料夾的權限,或長期以 root 身分執行用戶端。
四、建立桌面捷徑並確認代理設定
deb/rpm 套件通常會安裝應用程式選單捷徑。請優先使用套件內附的 .desktop 檔案,其中包含正確的可執行檔路徑、工作目錄或啟動參數。如果應用程式選單尚未顯示捷徑,可先登出再登入;若套件內完全沒有捷徑,再考慮手動建立。
桌面捷徑的重要欄位
- Type
- Application
- Name
- v2rayN
- Exec
- 套件內程式的實際絕對路徑
- Terminal
- false
自行建立的捷徑請放在 ~/.local/share/applications/;Exec 欄位不要用 ~ 或 $HOME 代替路徑。
本機代理檢查項目
- 監聽位址
- 僅供本機使用時,選擇 127.0.0.1
- 連接埠範例
- 10808,請以用戶端顯示的設定為準
- 測試協定
- 配合入站設定支援的 HTTP 或 SOCKS
- 執行使用者
- 目前登入桌面的使用者
連接埠範例不代表所有版本的預設值;修改設定後,也要同步更新測試指令。
手動建立捷徑時,可用文字編輯器填入上述欄位,並儲存為 ~/.local/share/applications/v2rayN.desktop。請先確認 Exec 指向的檔案確實能執行;路徑包含空格時,請依桌面捷徑規範使用雙引號。請勿將下載資料夾中暫時解壓縮的位置當成長期啟動路徑。
- 在主畫面開啟「訂閱群組」→「訂閱群組設定」,新增服務提供者提供的訂閱網址並儲存;不同版本的選單名稱可能略有不同。
- 返回「訂閱群組」選單,選擇「更新全部訂閱」,確認節點出現後,選擇一個節點設為目前使用的伺服器。
- 前往「設定」→「參數設定」,確認本機監聽連接埠與入站協定。首次測試時,請先使用一般本機代理模式,暫時不要啟用 TUN。
- 查看執行記錄,確認核心已成功啟動,再分別測試明確指定代理與桌面系統代理,避免混淆兩種問題。
# 先確認用戶端確實正在監聽此連接埠
ss -lntp | grep ':10808'
# 僅在此入站設定支援 SOCKS 時使用
curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 -I https://example.com/
socks5h 會將目標網域交由代理端解析;此指令用於測試目前的 SOCKS 入站設定與節點連線。若本機只啟用了 HTTP 入站,請改用實際的 HTTP 連接埠及 http://127.0.0.1:連接埠。明確指定代理的測試成功,只能確認這條連線路徑可用,無法證明所有桌面應用程式都會自動使用系統代理。
五、設定登入後自動啟動
Linux 桌面用戶端需要使用者的圖形工作階段。最容易維護的方式是使用桌面環境的「啟動應用程式」設定,或將已確認可用的桌面捷徑複製到 ~/.config/autostart/。擇一使用即可,請勿再同時啟用用戶端內建的自動啟動設定或另一個使用者服務。
自動啟動方式:依桌面環境選擇
桌面設定中的啟動選項
- Ubuntu GNOME 可搜尋「啟動應用程式」;名稱會依桌面版本而異。
- KDE Plasma 通常位於「系統設定」→「自動啟動」。
- 選擇現有的 v2rayN 應用程式捷徑,不要另外設定不同的啟動參數。
XDG 自動啟動資料夾
- 適用於支援 XDG Autostart 的桌面工作階段。
- 複製已安裝的 .desktop 檔案,保留原有的 Exec 設定。
- 只會影響目前使用者;僅登入命令列不會因此開啟圖形視窗。
結論:保留一個自動啟動捷徑,並透過登出再登入進行確認;不能以「檔案已複製」取代實際啟動測試。
以下以 Debian/Ubuntu 為例,沿用安裝步驟中的 pkg 變數;若已關閉終端機,請先透過套件管理工具查出實際套件名稱,再重新設定變數。先列出捷徑,確認只有目標桌面檔案後再複製,請勿從多個候選項目中隨意挑選第一個。
dpkg -L "$pkg" | grep -E '/applications/.*\.desktop$'
使用文字編輯器開啟查詢到的桌面檔案,檢查 Exec=,並確認沒有 Hidden=true 或限制目前桌面的 OnlyShowIn= 設定。接著將這個實際檔案複製到自動啟動資料夾;也可以使用下方的互動式指令貼上完整路徑。
read -r -p "請輸入已確認的 .desktop 檔案絕對路徑:" desktop
if [ -f "$desktop" ]; then
mkdir -p "$HOME/.config/autostart"
cp -- "$desktop" "$HOME/.config/autostart/v2rayN.desktop"
else
printf '%s\n' '找不到該檔案,請重新確認路徑。'
fi
Fedora 使用者請將查詢指令改為 rpm -ql "$pkg",後續的檢查與複製方式相同。請先正常結束 v2rayN,再登出並重新登入,確認只啟動一個執行個體。若桌面系統匣無法使用,首次測試時請勿同時啟用「啟動時最小化」,以免誤以為程式未執行。
六、自動啟動成功但代理無法連線:逐層排查
「程式已啟動」與「應用程式已使用代理」是兩件不同的事。登入桌面時,網路可能尚未連線,訂閱更新也可能失敗;這不代表需要立刻重新安裝軟體。請依照下列順序找出問題所在。
- 沒有程序或視窗:手動執行桌面捷徑中的實際 Exec 指令,確認升級後路徑沒有變動;並檢查桌面設定是否停用了自動啟動檔案。
- 視窗正常,但連接埠未監聽:查看執行記錄中的核心啟動錯誤,並檢查目前使用的節點、連接埠是否被占用,以及核心檔案是否具有執行權限。
- curl 明確指定代理時失敗:先確認協定與連接埠,再檢查節點連線、系統時間及服務提供者的要求。VMess 等連線的驗證可能受到時間偏差影響。
- curl 成功,但瀏覽器失敗:檢查瀏覽器本身的代理設定與擴充功能,再查看桌面「設定」→「網路」→「網路代理」;實際位置會依桌面環境而異。
- 瀏覽器可用,但終端機失敗:終端機工具可能需要設定環境變數或自行指定代理參數。桌面系統代理不會自動套用到所有命令列程式。
- 程式啟動兩次:逐一檢查桌面自動啟動清單、用戶端內部設定與自行建立的使用者服務,只保留一種設定來源。
Linux 的系統代理通常是桌面環境提供的設定介面,不會強制接管所有流量;流量進入核心後,路由分流才會決定請求使用代理或直接連線。這是兩個不同的處理環節。確認基本連線正常後再考慮啟用 TUN,可避免權限、DNS 與路由問題同時發生。進一步排查請參閱故障排除說明。
七、升級、取消自動啟動與解除安裝
升級前先結束用戶端,記下目前安裝的套件名稱,並備份用戶端實際使用的使用者設定資料夾。可透過程式提供的資料夾入口或執行記錄確認位置;請勿假定所有版本都將資料存放在相同資料夾。設定檔可能包含訂閱憑證,備份請存放在目前使用者可控的位置。
- 下載相同架構的新套件,繼續使用
apt install ./檔案名稱.deb或dnf install ./檔案名稱.rpm升級。 - 手動啟動一次,確認訂閱、目前使用的節點與本機連接埠,再檢查自動啟動副本中的 Exec 路徑是否仍然有效。
- 如果更換安裝方式或程式資料夾,請重新建立桌面捷徑,不要繼續使用舊資料夾的路徑。
# 僅取消本文建立的登入自動啟動,不解除安裝程式
rm -f "$HOME/.config/autostart/v2rayN.desktop"
# 解除安裝時擇一執行;pkg 必須是已確認的實際套件名稱
# Debian / Ubuntu:
sudo apt remove "$pkg"
# Fedora:
sudo dnf remove "$pkg"
解除安裝前,先還原桌面的網路代理設定,再結束程式,以免系統仍連向已停止監聽的本機連接埠。移除套件通常不會自動刪除使用者資料夾內的所有設定;若要清理,請先確認資料夾內容與備份範圍。至此,安裝、桌面啟動、代理測試與登入後自動啟動已構成一套可重複檢查的完整流程。