Linuxのデスクトップ環境を使う方向けに、システムのアーキテクチャに合ったdebまたはrpmパッケージを選び、パッケージ管理ツールでインストールする手順を解説します。続いて、ローカルプロキシのポートを確認し、現在のユーザー向けにデスクトップの自動起動を設定します。ログイン時の起動、システムプロキシ、TUNの権限に関する問題も切り分けます。コマンド例はBashを使用し、パッケージ名や起動パスは実際のファイルから確認するため、固定のバージョン名には依存しません。
1. Linuxディストリビューションとパッケージのアーキテクチャ
v2rayNは、接続設定の管理やプロキシコアの起動、操作画面の提供を行うデスクトップクライアントです。デスクトップパッケージをインストールしても、バックグラウンドのプロキシサービスが構築されるわけではありません。この記事では、GNOMEやKDE Plasmaなどのグラフィカルセッションにログイン済みであることを前提とします。リモートターミナルだけで利用するサーバーには、デスクトップの自動起動手順をそのまま適用できません。
まず、次の2つのコマンドを実行します。/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でホストにインストールできるとは限りません。
2. 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のデスクトップ環境。
手動で展開して確認
ファイルを展開すればディレクトリ構成を確認できますが、インストール処理全体は実行されず、メニュー項目や依存関係が整う保証もありません。展開できたことを、クライアントのインストール成功と見なさないでください。
用途:パッケージの内容確認や不具合の調査。通常のインストールには適しません。
3. 初回起動とローカルプロキシの確認
インストール後、デスクトップのアプリケーションメニューでv2rayNを検索して起動します。最初は通常ユーザーで開き、デスクトップアプリ全体をsudoで起動しないでください。管理者権限で実行すると、root所有の設定ファイルが作られたり、デスクトップの権限とネットワーク権限が混在したりする可能性があります。
-
クライアントを起動する
アプリケーションメニューでv2rayNを検索します。起動項目が見つからない場合は、まずインストールが完了しているか確認し、次のセクションの方法で実際の.desktopファイルを探してください。実行ファイルのパスを推測しないでください。
-
接続をインポートする
既存の接続共有リンクをコピーし、メインウィンドウの「サーバー」メニューからクリップボード経由でインポートする項目を選択します。画面のバージョンによってメニュー名は異なる場合があります。インポート後、想定したサーバーアドレスとポートが登録されていることを確認してください。
-
サーバーを選択する
サーバー一覧から使用する項目を選び、右クリックメニューの「アクティブサーバーに設定」で有効にします。テストを続ける前に、ログに設定エラーやポート競合がないか確認してください。
-
待ち受けポートを確認する
「設定」→「パラメーター設定」でローカルの待ち受けポートとプロキシプロトコルを確認し、コアの起動ログと照合します。以下の例では10808を使用します。実際にこのポートのSOCKS入口が有効な場合にのみ実行してください。
まず、ターミナルでプロキシを明示的に指定する経路を確認してから、デスクトップのシステムプロキシを設定します。こうすることで、サーバーへの接続問題とデスクトップ環境の設定問題を切り分けられます。以下の3つの数値は診断コマンドで使う固定値であり、速度測定の結果やすべてのバージョンの初期設定を示すものではありません。
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レスポンスを受信できても、今回のリクエストが応答を得たことを示すだけで、すべてのアプリがプロキシ経由になったわけではありません。
4. デスクトップの自動起動:ログイン後に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は、対象となるデスクトップ環境を制限する場合があります。意味を確認したうえで必要な場合のみ変更し、すべての項目をむやみに削除しないでください。 - 重複する起動項目を確認:クライアント内の自動起動設定、デスクトップの起動項目管理ツール、手動で作成したファイルは、有効な設定を1つだけ残してください。複数のインスタンスが同時に起動するのを防げます。
保存後、クライアントを通常の手順で終了し、ログアウトしてから再度ログインします。ウィンドウを閉じただけではプロセスが終了したとは限りません。設定によってはウィンドウがトレイに格納されます。再ログイン後は、画面、コアのログ、待ち受けポートをそれぞれ確認してください。トレイアイコンが表示されただけでは、プロキシが動作している証拠にはなりません。
5. 自動起動の確認、アップグレード、ロールバック
自動起動のテストでは、グラフィカルセッションとネットワークセッションの両方を確認します。デスクトップの読み込みが完了していても、無線LAN、名前解決、リモート接続の準備が整っていない場合があります。起動直後にタイムアウトのログが出ても、ただちにインストール失敗と判断せず、ネットワーク接続後にプロキシを明示したリクエストを再試行してください。
| 確認項目 | 操作 | 結果の見方 |
|---|---|---|
| プログラムが起動しているか | pgrep -af '[v]2rayN' | メインプロセスを確認します。プロセス名で見つからない場合は、デスクトップ環境のシステムモニターでも確認してください。 |
| コアが待ち受けているか | ss -lntp 'sport = :10808' | ポートは実際の設定に合わせて変更します。待ち受けていない場合は、まずコアのログを確認してください。 |
| ユーザーセッションのエラー | journalctl --user -b --no-pager -n 100 | 今回の起動時のユーザーログを確認します。デスクトップ環境によっては、起動時の出力が記録されない場合があります。 |
| 手動で設定した自動起動を無効にする | rm -- "$HOME/.config/autostart/v2rayn.desktop" | この記事で作成したユーザーの起動項目だけを削除します。クライアントはアンインストールされません。 |
アップグレード前に、クライアントで利用できるエクスポート機能を使って接続設定を保存し、ローカルの待ち受けポート、ルーティングモード、使用中のコアを記録してください。設定ディレクトリをバックアップする場合は、現在のクライアント画面やログで実際の場所を確認します。他のOSのパスをLinuxにそのまま当てはめないでください。設定には接続情報が含まれる場合があるため、バックアップファイルへのアクセスも制限してください。
新しいパッケージをダウンロードしたら、同じパッケージ管理ツールでインストールします。新しいバージョンを入れる前にクライアントを終了し、古いプロセスが動いたままバージョンを誤認しないようにしてください。手動でコピーした自動起動ファイルは、システム側のデスクトップ項目の更新に追従しません。アップグレード後にExecのパスが変わった場合は、ファイルを再度コピーし、無効化フラグも確認します。旧バージョンに戻しても、新しいバージョンが書き込んだ設定を読み込めるとは限りません。作業前に該当するバックアップを保管してください。
6. 依存関係、デスクトップセッション、プロキシのトラブルシューティング
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の出力、パッケージのバージョン、デスクトップ環境、最初に発生した明確なエラーを記録してください。ログを共有する前に、サブスクリプションURL、接続ID、サーバーの認証情報を削除します。インストール、起動、待ち受け、アプリのプロキシ利用はそれぞれ異なる段階です。順番に確認すると、再インストールを繰り返すより原因を特定しやすくなります。