先確認 Linux 發行版與處理器架構,再透過 apt 或 dnf 安裝本機套件。安裝後從應用程式選單啟動 v2rayN,確認本機監聽與節點連線正常,最後將桌面捷徑加入目前使用者的登入自動啟動。本文適用於配備圖形桌面的 Linux 電腦,不會將圖形用戶端設定為系統背景服務。
先確認發行版、架構與桌面環境
遇到「套件架構不符」或按兩下安裝套件沒有反應時,先別急著更換核心。deb、rpm 是 Linux 發行版的套件格式,不是代理協定。Ubuntu、Debian 使用 deb;Fedora 使用 rpm。v2rayN 是圖形用戶端,用來管理節點、產生設定並呼叫核心;Linux 桌面安裝套件並非適用於無桌面伺服器的服務套件。
cat /etc/os-release
uname -m
printf '桌面環境:%s\n工作階段:%s\n' "$XDG_CURRENT_DESKTOP" "$XDG_SESSION_TYPE"
uname -m 輸出 x86_64 時,請選擇 x64 套件;輸出 aarch64 時,請選擇 ARM64 套件。Debian 套件通常將這兩種架構標示為 amd64、arm64,只是命名方式不同。請勿透過解壓縮或強制安裝參數略過架構檢查。
發行版原生套件
建議Ubuntu、Debian 請選 deb,Fedora 請選 rpm。交由套件管理員登錄檔案、處理相依套件,並透過已安裝檔案清單尋找桌面捷徑。
適用對象:希望從應用程式選單啟動,並需要升級與解除安裝紀錄的桌面使用者。
Linux 壓縮檔
僅在下載頁提供對應架構的壓縮檔時考慮。你需要自行保留目錄結構、設定執行權限並建立桌面捷徑,也不能使用下文的套件查詢指令。
適用對象:有手動部署經驗,或目前系統不適合安裝所提供套件的使用者。
前往用戶端下載頁選擇 Linux 安裝套件。下文不指定特定版本或檔名,而是讀取實際下載檔案的中繼資料,避免將舊教學中的版本號誤認為目前可用版本。
使用 apt 安裝 Ubuntu、Debian 的 deb 套件
建議在 Bash 終端機中操作。下方指令會先提示輸入安裝套件的完整路徑,再讀取套件名稱、版本與架構。輸入路徑時請勿加上引號,也不要以反斜線跳脫空格;指令會統一處理路徑引用。確認檔案來源與中繼資料無誤後,再執行安裝指令。
read -r -e -p "deb 檔案的完整路徑:" package
package="$(realpath -- "$package")"
dpkg-deb -f "$package" Package Version Architecture
pkg_name="$(dpkg-deb -f "$package" Package)"
sudo apt update
sudo apt install "$package"
apt install 接收本機套件的絕對路徑時,會從已設定的軟體來源安裝可取得的相依套件。不要只執行 dpkg -i 就認定部署完成:它可以登錄套件,但不會自動下載缺少的相依套件。安裝指令成功結束後,請再查詢安裝狀態。
dpkg-query -W -f='${Package} ${Version} ${Status}\n' "$pkg_name"
dpkg -L "$pkg_name" | grep '/applications/.*\.desktop$'
檢視套件資訊
核對指令輸出的版本與 Architecture。請記下這些資訊,日後排查升級問題時,比「已安裝最新版」更有參考價值。
安裝套件與相依項目
等待 apt 正常結束。如果出現軟體來源無法連線的提示,請先修復網路或來源設定,不要反覆按兩下安裝套件。
尋找應用程式入口
在應用程式選單搜尋 v2rayN。如果選單尚未更新,登出後重新登入即可,不必因此重新安裝。
以一般使用者身分啟動
從桌面捷徑啟動用戶端。安裝時需要管理員權限,不代表日常使用也應透過 sudo 啟動。
使用 dnf 安裝 Fedora 的 rpm 套件
Fedora 同樣要先檢查中繼資料,再交由套件管理員安裝。下列指令請擇一使用,不要在同一台電腦上混用兩種套件格式。請保留目前的終端機,稍後查詢桌面捷徑時會繼續使用 pkg_name 變數。
read -r -e -p "rpm 檔案的完整路徑:" package
package="$(realpath -- "$package")"
rpm -qpi "$package"
pkg_name="$(rpm -qp --queryformat '%{NAME}' "$package")"
sudo dnf install "$package"
rpm -q "$pkg_name"
rpm -ql "$pkg_name" | grep '/applications/.*\.desktop$'
dnf install 會透過已啟用的軟體庫解析相依套件。如果出現缺少共享函式庫或版本條件無法滿足的錯誤,請先保留完整錯誤訊息,確認安裝套件是否適用於目前的 Fedora 版本。不要使用略過相依套件的參數,將錯誤延後到程式啟動時才處理;也不要從不明來源下載同名共享函式庫並覆蓋系統檔案。
程式無法開啟時,依錯誤類型排查
「已安裝但沒有視窗」不一定是相依套件問題。視窗可能已縮到系統匣,也可能在啟動時就結束。請先檢查系統匣與程序,再從套件提供的桌面檔案確認啟動指令;不要憑經驗猜測可執行檔的大小寫或安裝位置。
| 狀況 | 先檢查 | 處理方式 |
|---|---|---|
| 架構不符 | 系統 uname 輸出與套件中繼資料 | 重新選擇 x64 或 ARM64 套件,不要強制安裝。 |
| deb 相依套件尚未安裝完成 | apt 完整錯誤訊息與軟體來源狀態 | 執行 apt --fix-broken install,確認預定執行的操作後再繼續。 |
| 提示缺少共享函式庫 | 終端機顯示的缺失函式庫完整名稱 | 在發行版軟體庫中查詢對應套件,並確認與系統版本相容。 |
| 應用程式選單沒有入口 | 已安裝檔案中是否有 .desktop 檔案 | 檢查套件內容與選單快取,必要時登出再登入。 |
| 啟動後立刻結束 | Exec 指令輸出與目錄寫入權限 | 依實際錯誤處理,不要先刪除所有設定。 |
在 Debian 系統中,sudo apt --fix-broken install 可能會建議補裝相依套件,也可能建議移除無法設定的套件;請先閱讀操作清單再確認。如果曾以 sudo 啟動圖形用戶端,請檢查實際設定目錄的擁有者;只修正確認有問題的應用程式目錄,不要遞迴修改整個家目錄的權限。
桌面檔案中的 Exec= 是啟動規則,不是可以直接貼到終端機執行的指令碼。遇到 %U、%F 等桌面欄位代碼時,手動除錯應移除這些欄位代碼,並保留實際指令、參數與路徑引用。請勿使用 eval 執行讀取到的整行內容。
先確認監聽與代理正常,再設定自動啟動
首次開啟 v2rayN 後,先匯入可用設定並選擇一個伺服器。新增訂閱時,請在主畫面的「訂閱分組」→「訂閱分組設定」中填入分組與網址,再透過「訂閱分組」選單執行相應的更新操作。不同版本的按鈕位置可能不同,請以目前介面顯示為準;訂閱更新成功只代表已取得節點資訊,不代表節點已連線。
前往「設定」→「參數設定」,確認本機監聽相關選項。下文統一以 127.0.0.1:10808 作為混合代理位址範例,實際值必須與用戶端設定一致。不要因為教學使用 10808 就覆寫現有連接埠,也不要為了解決本機連線問題而將監聽位址改成所有網路介面。
ss -ltnp 'sport = :10808'
curl --proxy http://127.0.0.1:10808 --max-time 15 -I https://example.com/
curl --proxy socks5h://127.0.0.1:10808 --max-time 15 -I https://example.com/
只有在啟用支援相應協定的監聽後,上述請求才有意義。socks5h 會將目標網域交由代理端解析,可用來與本機 DNS 解析路徑區分。收到 HTTP 回應只能證明這次請求已完成,不能據此推論所有網站或程式都已透過代理連線。如果記錄顯示路由為直連,請依預期路由選擇測試目標。
明確指定代理進行測試
- 代理位址
- 127.0.0.1
- 範例連接埠
- 10808
- 請求方式
- curl --proxy
- 逾時上限
- 15 秒
略過桌面系統代理設定,先確認用戶端監聽與對外連線正常。
桌面代理設定檢查
- GNOME 設定路徑
- 「設定」→「網路」→「網路代理」
- 檢查項目
- HTTP、HTTPS 與 SOCKS 的位址和連接埠
- 瀏覽器設定
- 擴充功能與瀏覽器內建代理設定
- 終端機環境變數
- http_proxy、https_proxy、all_proxy
桌面代理設定不會自動套用到每個終端機程式;請使用相同的測試位址逐一確認。
設定登入桌面後自動啟動
桌面使用者所說的「開機自動啟動」,實際上應設定為目前使用者登入圖形工作階段後啟動。此時桌面工作階段、使用者設定與系統匣環境都已就緒。不要直接建立以 root 身分執行的系統服務來啟動視窗程式,否則容易遇到顯示伺服器、工作階段匯流排與設定檔擁有者等問題。
選擇一種自動啟動方式,避免重複啟動
用戶端內建選項
- 檢查「設定」→「參數設定」中是否有「開機自動啟動」選項。
- 只有目前 Linux 版本確實提供且可正常使用時才啟用。
- 啟用後登出測試,不要再額外複製桌面捷徑。
XDG 登入自動啟動
- 使用已安裝套件提供的 .desktop 檔案。
- 複製到目前使用者的 ~/.config/autostart/。
- 適用於遵循 XDG 自動啟動規範的桌面工作階段。
兩種方式擇一即可。只有視窗管理員而沒有完整桌面工作階段的環境,則需另外查詢其工作階段啟動機制。
採用 XDG 方式時,請先找出桌面檔案。下列兩種查詢指令請依發行版擇一執行;如果已關閉安裝時使用的終端機,請先從套件管理員確認實際套件名稱,再設定 pkg_name,不要假設先前的變數仍然存在。
# Ubuntu / Debian
dpkg -L "$pkg_name" | grep '/applications/.*\.desktop$'
# Fedora
rpm -ql "$pkg_name" | grep '/applications/.*\.desktop$'
如果列出多個入口,請選擇用來啟動主介面的項目,而非解除安裝或輔助入口。接著輸入完整路徑、檢查重要欄位,再複製原始檔案。這樣可以保留套件提供的 Exec、Icon 與工作目錄設定,不必猜測程式的安裝位置。
read -r -e -p "主介面 desktop 檔案的完整路徑:" desktop
desktop="$(realpath -- "$desktop")"
grep -E '^(Type|Name|Exec|TryExec|Path|Hidden|OnlyShowIn|NotShowIn|X-GNOME-Autostart-enabled)=' "$desktop"
mkdir -p "$HOME/.config/autostart"
install -m 644 "$desktop" "$HOME/.config/autostart/v2rayn.desktop"
複製前請確認入口為 Type=Application,且沒有 Hidden=true 或停用自動啟動的欄位。如果有 OnlyShowIn、NotShowIn,也要確認這些設定不會排除目前使用的桌面環境。若遇到此類限制,請先確認用途,再編輯使用者副本,不要修改套件管理員維護的原始檔案。
登出後重新測試、升級與取消設定
設定自動啟動後,請先正常結束用戶端,再登出並重新登入。不要只關閉視窗就認定程序已結束:部分設定會將關閉視窗轉為縮到系統匣。登入後請檢查程序、監聽連接埠與請求結果,三項都正常才算設定完成。
- 確認只啟動一份:檢查桌面的「啟動應用程式」、用戶端內建選項與使用者 autostart 目錄,移除重複的啟動來源。
- 確認設定可正常讀取:伺服器清單、訂閱分組與目前選取的節點都應保留,不應出現以管理員身分啟動時使用的另一套設定。
- 確認網路已就緒:剛登入時無線網路可能尚未連線,導致訂閱更新失敗;請先等待網路連線,再手動重試,不要因此判定自動啟動失效。
- 確認代理已恢復:重新執行連接埠與 curl 測試,再檢查瀏覽器。視窗出現不代表系統代理設定已生效。
升級前請先結束用戶端,再使用相同的套件管理員安裝新版且架構相同的套件。複製到使用者目錄的桌面檔案不會自動隨原始檔更新;若新版調整了 Exec 或安裝路徑,請重新檢查並複製入口。遷移前請備份用戶端實際使用的資料目錄,不要將備份檔案放在可能被程式更新覆寫的安裝目錄中。
若要取消本文設定的 XDG 自動啟動,只需刪除本文建立的使用者副本。若使用的是用戶端內建選項,請回到原設定位置將其關閉。解除安裝前,請先清除不再使用的桌面代理設定,否則瀏覽器可能繼續連線至已停止監聽的連接埠。
rm -f "$HOME/.config/autostart/v2rayn.desktop"
最後的排查順序不變:先確認套件是否正確安裝,再確認主程式能否啟動,接著檢查本機連接埠與節點連線,最後檢查桌面代理與登入自動啟動。逐一驗證各個環節,比同時修改相依套件、連接埠、權限與啟動方式更容易找出問題。