Linuxのデスクトップ環境を使う方向けの記事です。まずディストリビューションとCPUアーキテクチャを確認し、システムのパッケージ管理ツールでv2rayNをインストールします。アプリメニュー、サブスクリプション、ローカルの待ち受けを確認したら、ログイン後に起動するよう設定します。ここでいう「自動起動」はデスクトップセッションへのログイン後にクライアントを起動することです。ログイン前にグラフィカルアプリをシステムサービスとして起動する設定ではありません。
1. ディストリビューション・アーキテクチャ・インストール方法を確認
UbuntuやDebianでは通常debパッケージ、Fedoraでは通常rpmパッケージを選びます。パッケージ形式とCPUアーキテクチャは別々に確認が必要です。同じ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をインストールします。依存関係の解決、インストール済みファイルの確認、アンインストールはシステムのパッケージ管理ツールで行えます。
おすすめ:インストール履歴を明確に管理したいデスクトップユーザー。
展開して実行するアーカイブ
ダウンロードページに利用中のアーキテクチャに合うアーカイブがある場合のみ使用してください。展開先のディレクトリを維持し、デスクトップの起動項目と起動パスも自分で管理する必要があります。
おすすめ:プログラムの保存先を自分で選び、起動パスを管理できるユーザー。
2. Ubuntu・Debianにdebパッケージをインストール
ダウンロードしたdebを専用ディレクトリに置き、ディレクトリ内に今回インストールするdebファイルが1つだけあることを確認します。ファイルマネージャーから「端末で開く」を選びます。以下はBash向けのコマンドです。パッケージ内のメタデータから実際のパッケージ名を取得するため、ダウンロードファイルの命名規則には依存しません。
# インストールするdebファイルが1つだけあるディレクトリで実行
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ファイルが1つだけあるディレクトリで実行してください。'
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/'
3. Fedoraにrpmをインストールして依存関係を確認
Fedoraではdnfを使ってローカルのrpmをインストールします。debの場合と同様に、対象のrpmを専用ディレクトリに1つだけ置き、そのディレクトリでBash端末を開きます。誤ったファイルを選ばないよう、複数バージョンや異なるアーキテクチャのrpmを同じ場所に置かないでください。
# インストールするrpmファイルが1つだけあるディレクトリで実行
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ファイルが1つだけあるディレクトリで実行してください。'
fi
# インストール成功後、同じ端末で起動項目を確認
rpm -ql "$pkg" | grep -E '/applications/.*\.desktop$|/bin/'
インストール後にクリックしてもウィンドウが開かない場合は、パッケージ内の.desktopファイルでExec=の行を確認し、実際のプログラムパスを端末で実行してエラーを調べます。この行に%Uや%Fなどのデスクトップエントリー用フィールドコードが含まれている場合、端末で手動テストするときにそのまま入力しないでください。
- 共有ライブラリが見つからない:エラーに表示されたライブラリ名を正確に控えます。Fedoraでは
dnf provides '*/libX11.so.6'のような検索で提供パッケージを特定できます。例のライブラリ名は実際のエラーに合わせて置き換えてください。 - ICUまたはランタイムに関する問題:まずパッケージにランタイムが同梱されているか確認し、次にそのディストリビューションのサポート対象を確認します。ICUのパッケージ名やバージョンはディストリビューションによって異なるため、古い依存パッケージをむやみにインストールしないでください。
- ディスプレイサービスに接続できない:通常のSSHセッションやシステム起動タスクではなく、ログイン済みのグラフィカルセッションから起動しているか確認してください。
- ウィンドウは開くがトレイに表示されない:デスクトップ環境がトレイに対応しているか確認します。トレイアイコンがなくても、インストール失敗やプロキシコアの停止を意味するとは限りません。
デスクトップアプリが正常に動作してからネットワークを設定してください。起動エラーを消すためにSELinuxを無効化したり、インストールディレクトリ全体の権限を緩めたり、クライアントをrootで常時実行したりしないでください。
4. デスクトップの起動項目を作成してプロキシ設定を確認
deb・rpmには通常、アプリメニューの起動項目が含まれています。まずパッケージ付属の.desktopファイルを使ってください。正しい実行パス、作業ディレクトリ、起動オプションが設定されています。アプリメニューに表示されない場合は、いったんログアウトして再ログインします。パッケージに起動項目がない場合のみ、手動作成を検討してください。
デスクトップ起動項目の主な設定
- Type
- Application
- Name
- v2rayN
- Exec
- パッケージに含まれるプログラムの実際の絶対パス
- Terminal
- false
自作の起動項目は~/.local/share/applications/に保存します。Execのパスに~や$HOMEは使わないでください。
ローカルプロキシの確認項目
- 待ち受けアドレス
- このPCだけで使う場合は127.0.0.1を指定
- ポートの例
- 10808。クライアントの表示を優先
- テストするプロトコル
- 受け付けるHTTPまたはSOCKSに合わせる
- 実行ユーザー
- 現在デスクトップにログインしているユーザー
ポートは一例で、すべてのバージョンの初期値ではありません。設定を変更した場合はテストコマンドも合わせて変更してください。
起動項目を手動で作成する場合は、テキストエディターで上記の項目を入力し、~/.local/share/applications/v2rayN.desktopとして保存します。Execのパスで実際にプログラムを起動できることを必ず確認してください。パスにスペースが含まれる場合は、デスクトップ起動項目の仕様に従って二重引用符で囲みます。ダウンロード先に一時展開したパスを、長期利用する起動パスにしないでください。
- メイン画面で「サブスクリプショングループ」→「サブスクリプショングループの設定」を開き、サービス提供元から案内されたサブスクリプションURLを追加して保存します。項目名はバージョンによって多少異なる場合があります。
- 「サブスクリプショングループ」メニューに戻って「すべてのサブスクリプションを更新」を実行します。ノードが表示されたら1つ選び、アクティブサーバーに設定してください。
- 「設定」→「パラメーター設定」を開き、ローカルの待ち受けポートと受け入れるプロトコルを確認します。初回の動作確認では通常のローカルプロキシを使い、TUNは有効にしないでください。
- 実行ログでコアが正常に起動したことを確認し、明示的なプロキシ接続とデスクトップのシステムプロキシを別々にテストします。2種類の問題を混同しないようにしてください。
# そのポートを実際にクライアントが待ち受けていることを確認
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:ポートに変更してください。明示的なプロキシで接続できても、すべてのデスクトップアプリがシステムプロキシに従うとは限りません。
5. ログイン後に自動起動する設定
Linuxのデスクトップクライアントは、ユーザーのグラフィカルセッションで動作します。管理しやすい方法は、デスクトップ環境の「自動起動アプリ」設定を使うか、動作確認済みのデスクトップ起動項目を~/.config/autostart/にコピーすることです。どちらか一方を選び、クライアント内の自動起動設定や別のユーザーサービスを重ねて設定しないでください。
デスクトップ環境に合わせた自動起動の設定
デスクトップの設定画面から
- Ubuntu GNOMEでは「自動起動するアプリケーション」を検索します。名称はデスクトップのバージョンによって異なります。
- KDE Plasmaでは通常、「システム設定」→「自動起動」にあります。
- 既存のv2rayNアプリ起動項目を選び、異なる起動オプションを別途設定しないでください。
XDG自動起動ディレクトリ
- XDG Autostartに対応するデスクトップセッションで利用できます。
- インストール済みの.desktopファイルをコピーし、元のExec設定を維持します。
- 現在のユーザーにのみ適用されます。コマンドラインのみでログインした場合、グラフィカルウィンドウは起動しません。
要点:起動項目は1つだけ残し、ログアウトして再ログインして動作を確認します。「ファイルをコピーした」だけで起動確認を済ませないでください。
以下ではDebian・Ubuntuを例に、インストール手順で設定したpkg変数を引き続き使います。端末を閉じた場合は、まずパッケージ管理ツールで実際のパッケージ名を調べ、変数に再設定してください。起動項目を一覧表示し、対象のデスクトップファイルを確認してからコピーします。候補から適当に1つ選ばないでください。
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を通常の方法で終了してからログアウトし、再ログインして複数のインスタンスが起動しないことを確認します。デスクトップのトレイが使えない場合は、初回テストで「起動時に最小化」も有効にしないでください。アプリが起動していないと誤認するおそれがあります。
6. 自動起動するのにプロキシが使えない場合の切り分け
「プログラムが起動したこと」と「アプリがプロキシを使うこと」は別の結果です。デスクトップへのログイン直後はネットワークがまだ接続されていなかったり、サブスクリプションの更新に失敗したりすることがあります。すぐに再インストールする必要はありません。以下の順に問題の箇所を切り分けてください。
- プロセスもウィンドウもない:デスクトップ起動項目のExecに設定されたコマンドを手動で実行し、アップグレード後にパスが変わっていないか確認します。自動起動ファイルがデスクトップ設定で無効になっていないかも確認してください。
- ウィンドウは表示されるがポートが待ち受けていない:実行ログでコアの起動エラーを確認し、アクティブノード、ポートの競合、コアファイルの実行権限を調べます。
- curlで明示的なプロキシ接続に失敗する:まずプロトコルとポートを確認し、次にノードへの接続、システム時刻、サービス提供元の要件を調べます。VMessなどでは、時刻のずれが認証に影響する場合があります。
- curlは成功するがブラウザーは接続できない:ブラウザー独自のプロキシ設定や拡張機能を確認し、デスクトップの「設定」→「ネットワーク」→「ネットワークプロキシ」も調べます。設定場所はデスクトップ環境によって異なります。
- ブラウザーは接続できるが端末からは失敗する:端末のツールによっては、環境変数や独自のプロキシオプションが必要です。デスクトップのシステムプロキシは、すべてのコマンドラインプログラムに適用されるわけではありません。
- 二重に起動する:デスクトップの自動起動一覧、クライアント内の設定、自作したユーザーサービスを個別に確認し、起動元を1つだけ残します。
Linuxのシステムプロキシは通常、デスクトップ環境が提供する設定インターフェースであり、すべての通信を強制的に取り込むものではありません。一方、ルーティングの振り分けは、通信がコアに入った後、プロキシ経由か直接接続かを決めます。両者は別の段階を扱います。まず基本的な接続を確認してからTUNを検討すると、権限、DNS、ルーティングの問題が同時に発生する事態を減らせます。詳しい調査方法はトラブル対処ガイドをご覧ください。
7. アップグレード・自動起動の解除・アンインストール
アップグレードする前にクライアントを終了し、インストール済みパッケージ名を控えて、クライアントが実際に使っているユーザー設定ディレクトリをバックアップします。場所はプログラムのディレクトリ表示や実行ログで確認してください。バージョンによって保存先が同じとは限りません。設定にはサブスクリプションの認証情報が含まれる場合があるため、バックアップは現在のユーザーが管理できる場所に保存してください。
- 同じアーキテクチャ向けの新しいパッケージをダウンロードし、
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"
アンインストールする前にデスクトップのネットワークプロキシ設定を元に戻し、プログラムを終了してください。停止したローカルポートをシステムが参照し続けるのを防げます。パッケージをアンインストールしても、ユーザーディレクトリ内の設定がすべて自動削除されるとは限りません。削除する場合は、対象ディレクトリの内容とバックアップ範囲を先に確認してください。これで、インストール、デスクトップでの起動、プロキシの動作確認、ログイン時の自動起動を再現可能な手順で確認できます。