v2rayN Linuxデスクトップ版のインストール手順:deb/rpmパッケージの選び方とログイン時の自動起動設定

Debian/Ubuntu系とFedora系ディストリビューションを対象に、debとrpmの選び方、インストールコマンド、デスクトップエントリーの修正、systemdユーザーサービスによるログイン時の自動起動までを解説します。

この記事の概要

この記事は、Linuxデスクトップ環境でv2rayNを使いたい方を対象としています。ディストリビューションとCPUアーキテクチャの確認から始め、debまたはrpmのインストール、コマンドの確認、アプリケーションメニューの修正、サブスクリプションとローカルポートの確認へ進み、最後に現在のユーザーだけで有効になるsystemdユーザーサービスを作成します。設定後はグラフィカルセッションへのログイン時にv2rayNを自動起動でき、いつでも取り消せる構成を維持できます。

インストールパッケージの選び方:deb、rpm、CPUアーキテクチャ

Linuxのインストールで最も多い失敗は、依存関係ではなくパッケージ形式やCPUアーキテクチャの選択ミスです。Ubuntu、Debian、Linux MintなどのDebian系ディストリビューションではdebを使い、Fedora、Rocky Linux、AlmaLinuxなどRPMパッケージ管理を採用するディストリビューションではrpmを使います。パッケージ形式はデスクトップ環境だけで判断できません。GNOME、KDE Plasmaなど、どのデスクトップも異なるディストリビューション上で動作します。

まずターミナルでシステム情報を確認します。1つ目のコマンドでディストリビューション識別子を読み取り、2つ目でCPUアーキテクチャを確認します。一般的にx86_64は64ビットx86プラットフォーム、aarch64またはarm64は64ビットARMプラットフォームを示します。ダウンロードページのアーキテクチャはコマンド結果と一致している必要があり、ファイル名を変更しても変換はできません。

cat /etc/os-release
uname -m

debインストールパッケージ

おすすめ

APTに依存関係の処理を任せる方法で、Ubuntu、DebianおよびDebian系デスクトップディストリビューションに適しています。apt install ./ファイル名.debを使うと、ローカルパッケージとソフトウェアソースの依存関係を同時に確認できます。

対象:Ubuntu、Debian、Linux Mintのデスクトップ

rpmインストールパッケージ

DNFに依存関係の解決を任せる方法で、FedoraおよびRPMパッケージ管理を採用するディストリビューションに適しています。ローカルファイルをインストールするときは、リポジトリのパッケージ名と誤認されないよう、./のパス接頭辞を残してください。

対象:Fedora、Rocky Linux、AlmaLinuxのデスクトップ

圧縮アーカイブ

通常は解凍先、コマンドのエントリー、デスクトップファイルを自分で管理する必要があります。debまたはrpmを選べる場合は、システムパッケージのほうがファイル一覧の確認、アップグレード、アンインストールを行いやすくなります。

対象:ディレクトリ管理に慣れており、パッケージ形式が合わない環境

確認項目 コマンドまたは場所 正しい結果
ディストリビューション系列 cat /etc/os-release IDID_LIKEからdebまたはrpmを判断
CPUアーキテクチャ uname -m x86_64aarch64などの明確なアーキテクチャ値
グラフィカルセッション printf '%s\n' "$XDG_SESSION_TYPE" 通常はwaylandまたはx11と表示
ユーザーサービスの利用可否 systemctl --user --version systemdのバージョン情報を出力

debとrpmのインストールコマンド

まず当サイトのダウンロードセンターから、システムのアーキテクチャに合ったLinuxインストールパッケージを入手し、ダウンロード先のディレクトリを開きます。以下のコマンドでは特定のバージョン名を固定せず、現在のディレクトリにある候補ファイルを一覧表示します。対象パッケージが1つだけであることを確認してから、ターミナルに表示された完全なファイル名をインストールコマンドへ貼り付けてください。記事内の古いバージョン名に惑わされるのを防げます。

cd ~/Downloads
find . -maxdepth 1 -type f \( -name "*.deb" -o -name "*.rpm" \) -print

Debian、Ubuntuおよび派生ディストリビューション

APTでローカルdebをインストールするときは、ファイル名の前にある./を必ず残します。apt install ファイル名.debと直接実行すると、APTがリポジトリ内のパッケージ名として扱う可能性があります。インストール前に低レベルツールでパッケージを展開する必要はありません。APTがパッケージ内の依存関係を読み取り、現在のソフトウェアソースから補完します。

cd ~/Downloads
sudo apt update
sudo apt install ./v2rayN-linux-64.deb

例のファイル名はコマンド構造を示すためのものです。実行時には、ダウンロード先に実際に表示されるファイル名を使ってください。インストール後は、パッケージマネージャーでインストール済みの内容を確認し、コマンドのエントリーを調べます。command -vが絶対パスを返せば、現在のユーザーのPATHからプログラムを見つけられています。

command -v v2rayN
dpkg -l | grep -i v2rayn
dpkg -L v2rayn | grep -E '(/bin/|\.desktop$)'

FedoraおよびRPM系ディストリビューション

ローカルrpmをDNFでインストールするときも./パスを使います。rpm -iを直接呼び出すよりも、DNFのほうがソフトウェアソースで解決できる依存関係を処理できるため、デスクトップでの初回インストールに適しています。有効なリポジトリで依存関係を満たせない場合、DNFは不足しているパッケージ名を明確に表示します。

cd ~/Downloads
sudo dnf install ./v2rayN-linux-64.rpm

結論:まずパッケージマネージャーでインストールを完了し、その後デスクトップエントリーを整える

依存関係のエラーとアプリケーションメニューのエントリー欠落は別の問題です。ターミナルでv2rayNを実行できるなら、プログラム本体は通常利用可能です。その場合はデスクトップファイルを修正し、再インストールしたり複数のディレクトリにコピーを展開したりしないでください。

初回起動とデスクトップエントリーの修正

インストール後、まずターミナルから一度起動します。ターミナル出力には、グラフィックライブラリ、権限、設定ディレクトリ、コアプロセスに関する情報が残ります。正常に起動したらいったんウィンドウを閉じ、アプリケーションメニューにv2rayNが表示されているか確認します。メニューの更新にはログアウトと再ログインが必要な場合があります。

v2rayN

ターミナルから起動できるのにアプリケーションメニューにエントリーがない場合は、まずインストールパッケージにdesktopファイルが含まれているか確認します。deb系ではdpkg -L、rpm系ではrpm -qlを使います。ファイルが見つかったらデスクトップデータベースを更新します。コマンドが存在しない場合に空のファイルを作る必要はなく、グラフィカルセッションへ再ログインすれば通常は更新されます。

find /usr/share/applications ~/.local/share/applications \
  -maxdepth 1 -type f -iname "*v2rayn*.desktop" -print

update-desktop-database ~/.local/share/applications 2>/dev/null || true

パッケージにdesktopファイルがない場合は、現在のユーザー用にエントリーを作成できます。まずcommand -v v2rayNを実行し、出力が/usr/bin/v2rayNであることを確認してから、以下の内容を使います。実際のパスが異なる場合は、Execをコマンドが返した絶対パスに変更してください。デスクトップファイルはユーザーディレクトリに置くため、システムパッケージのファイルを上書きしません。

mkdir -p ~/.local/share/applications
cat > ~/.local/share/applications/v2rayn.desktop <<'EOF'
[Desktop Entry]
Type=Application
Name=v2rayN
Comment=V2Ray desktop client
Exec=/usr/bin/v2rayN
Terminal=false
Categories=Network;
StartupNotify=true
EOF
chmod 644 ~/.local/share/applications/v2rayn.desktop
update-desktop-database ~/.local/share/applications 2>/dev/null || true
2種類のパッケージ
debとrpm
10808
一般的なローカルSOCKSポート
10809
一般的なローカルHTTPポート
3秒
自動起動までの待機時間

サブスクリプションのインポート、コアの起動、接続確認

ウィンドウが開くのはグラフィカルプログラムが起動したことを示すだけで、ノード、コア、システムプロキシが動作しているとは限りません。初回利用時は、サブスクリプションのインポート、更新、ノード選択、コア起動の順に行います。サブスクリプションURLは複数ノードをまとめて管理するためのもので、単一のvmess://またはvless://リンクは1つのノードだけを表し、サブスクリプションの更新を自動取得するものではありません。

  1. サブスクリプション管理画面を開き、実際に利用できるサブスクリプションURLを追加し、グループには識別しやすいメモを付けます。
  2. サブスクリプションを更新し、メインリストにノードが表示されることを確認します。リストが空の場合は、まず更新ログを確認し、システムプロキシを何度も切り替えないでください。
  3. ノードを1つ選択してアクティブサーバーに設定し、ステータスバーまたはログでコアの起動結果を確認します。
  4. 「設定」→「パラメーター設定」を開き、SOCKS、HTTP、または混合待受ポートの実際の値を記録します。
  5. デスクトップ環境に合わせてシステムプロキシを有効にし、続けてドメイン名前解決とWebアクセスを個別にテストします。

待受ポートの確認にはssを使えます。以下のコマンドは一般的な10808と10809を絞り込みます。設定画面に別のポートが表示される場合は、検索する数字も実際の値に変更してください。正常な結果にはLISTENが含まれ、通常は127.0.0.1またはローカルのループバックアドレスにバインドされています。

ss -lntp | grep -E '10808|10809'

ノードが接続済みと表示されるのにWebページを開けない場合は、「コアが待ち受けていない」のか「デスクトップアプリがプロキシを使っていない」のかを切り分けます。前者ではssにポートが表示されず、通常はコアログ、ノードパラメーター、ポート競合を確認します。後者ではシステムプロキシの状態と、ブラウザーが独自のプロキシ設定を使っていないかを確認します。

結論:起動判定は待受ポートとコアログで行う

トレイアイコン、ノードの選択状態、ウィンドウが最小化されているかどうかだけでは、プロキシの準備完了を証明できません。まずコアログに起動エラーがないことを確認し、次に設定画面で指定したポートが待ち受け中であることを確認し、最後にデスクトップのシステムプロキシを確認すると、より短い手順で原因を特定できます。

systemdユーザーサービスによるログイン時の自動起動

v2rayNはデスクトッププログラムなので、自動起動はシステム全体のrootサービスではなく、現在のユーザーのグラフィカルログインセッションに紐付けます。systemdユーザーサービスはユーザーのログイン後に実行され、設定ファイルは~/.config/systemd/user/に置かれます。有効化やログ確認にsudoは必要ありません。この方法では、他のユーザーが同じ設定で自動起動することもありません。

まずcommand -v v2rayNがパスを返すことを確認し、ユーザーサービスを作成します。以下では/usr/bin/env v2rayNを使ってユーザーサービスの環境からプログラムを検索し、デスクトップセッションの初期化時間として3秒待機します。Restart=on-failureは異常終了時だけ再起動するため、ウィンドウを正常に閉じた後は繰り返し起動しません。

mkdir -p ~/.config/systemd/user
cat > ~/.config/systemd/user/v2rayn.service <<'EOF'
[Unit]
Description=v2rayN desktop client
After=graphical-session.target
Wants=graphical-session.target

[Service]
Type=simple
ExecStartPre=/bin/sleep 3
ExecStart=/usr/bin/env v2rayN
Restart=on-failure
RestartSec=5

[Install]
WantedBy=default.target
EOF

サービスを書き込んだら、ユーザー設定を再読み込みしてすぐに有効化します。enable --nowにより、「次回ログイン時の自動起動」と「現在のセッションでの即時起動」を同時に設定できます。v2rayNを手動で起動中の場合は、同じ設定ディレクトリやローカルポートを2つのインスタンスが奪い合わないよう、先に元のプロセスを終了してください。

systemctl --user daemon-reload
systemctl --user enable --now v2rayn.service
systemctl --user status v2rayn.service --no-pager

自動起動の方法:運用目的に合わせて選択

systemdユーザーサービス
  • 状態確認と失敗時の再起動に対応
  • ログをユーザーjournalに集約
  • 固定のデスクトップアカウントで長期運用する場合に適する
デスクトップ自動起動ファイル
  • グラフィカルセッションと直接連携
  • ログイン後にウィンドウを起動するだけの場合に適する
  • トラブル情報は通常、アプリケーション独自のログに依存

状態、再起動ポリシー、過去のログを確認したい場合はsystemdユーザーサービスを選びます。ログイン後にデスクトップアプリを起動するだけで、サービス管理が不要なら、デスクトップ環境の自動起動設定を使えます。

設定後、現在のアカウントからログアウトして再ログインし、少なくとも3秒待ってから状態を確認します。サービスの状態がactive (running)で、v2rayNのウィンドウまたはトレイエントリーが表示されれば、ログイン時の自動起動が正常に機能しています。ユーザーサービスはグラフィカルデスクトップにログインする前に表示可能なウィンドウを作成しません。これはデスクトップアプリの動作条件に沿ったものです。

systemctl --user is-enabled v2rayn.service
systemctl --user is-active v2rayn.service
journalctl --user -u v2rayn.service -b --no-pager -n 80

トラブルの切り分けと元に戻す方法

トラブル対応では、まず問題がインストール、プログラムのエントリー、コア接続、自動起動のどれに属するかを確認します。クライアントの再インストール、設定の削除、systemdサービスの変更を同時に行うと、元のエラーが上書きされます。最も効果的な順序は、パッケージマネージャーの記録を確認し、手動で一度起動し、ポートを確認してから、ユーザーサービスのログを見ることです。

debのインストール時にファイルが見つからない場合は?

まずpwdfind . -maxdepth 1 -name "*.deb" -printを実行し、ターミナルが実際のダウンロード先にあることを確認します。インストールコマンドはsudo apt install ./実際のファイル名.debと入力します。./は省略できません。

ターミナルでは起動するのに、アプリケーションメニューにv2rayNがない場合は?

まずパッケージ内の.desktopファイルを検索し、デスクトップデータベースを更新してから再ログインします。パッケージにエントリーがない場合は、この記事のdesktopファイルを~/.local/share/applications/v2rayn.desktopに保存し、Execcommand -v v2rayNが返すパスに変更してください。

ユーザーサービスに203/EXECと表示される場合は?

この状態は通常、起動コマンドが存在しないか実行できないことを示します。command -v v2rayNを実行し、/usr/bin/envが存在するか確認します。サービスを修正したら、systemctl --user daemon-reloadsystemctl --user restart v2rayn.serviceを実行します。

サービスは実行中なのにウィンドウやトレイエントリーが表示されない場合は?

journalctl --user -u v2rayn.service -b -n 80を実行してグラフィカルセッションのエラーを確認します。サービスがデスクトップへのログイン後に起動していることを確認し、After=graphical-session.targetと3秒の待機を残してください。デスクトッププログラムをシステムのrootサービスに変更しないでください。

自動起動を完全に無効にするには?

systemctl --user disable --now v2rayn.serviceを実行し、~/.config/systemd/user/v2rayn.serviceを削除して、最後にsystemctl --user daemon-reloadを実行します。これは自動起動サービスだけを削除し、クライアントの設定やサブスクリプションは削除しません。

サービスを再確認する必要がある場合は、まずsystemctl --user reset-failed v2rayn.serviceで古い失敗状態を消去し、その後手動で一度起動します。ログでは最初に出たエラーのほうが、その後の再起動メッセージの繰り返しより重要です。状態画面の最後の1行だけでなく、今回の起動前後に出力された80行を優先して確認してください。

systemctl --user reset-failed v2rayn.service
systemctl --user restart v2rayn.service
journalctl --user -u v2rayn.service -b --no-pager -n 80
v2rayN をダウンロード 対応プラットフォームのインストールパッケージを確認