Shadowrocket Linux版のインストール方法|deb・rpm・AppImageの選び方

Linux版は無料で、deb・rpm・AppImageの3形式を用意しています。ディストリビューションに合った形式の選び方、apt・dnfでのインストール方法、AppImageに実行権限を付与する手順を解説します。

この記事の要点

Debian、Ubuntuおよび互換ディストリビューションではdeb、Fedoraなどdnfを使う環境ではrpmを選びます。ファイル単体で保存・起動したい場合はAppImageを検討してください。Linuxデスクトップ環境を利用している方向けに、ディストリビューションとCPUアーキテクチャの確認から、当サイトのダウンロードページでのパッケージ取得、インストール、初回起動、接続確認までを説明します。Shadowrocketのインストールと、手元にあるサブスクリプションの読み込みは別の手順です。

1. ディストリビューションに合わせてdeb・rpm・AppImageを選ぶ

ファイルサイズだけでなく、まずシステムのパッケージ管理方式を確認します。debとrpmはシステムのパッケージマネージャーに登録してインストールします。AppImageは通常、単一のアプリケーションファイルとして実行する形式で、debやrpmパッケージをシステムにインストールするものではありません。いずれの形式も、CPUアーキテクチャ、システムライブラリ、グラフィカル環境の互換性を確認する必要があります。

環境推奨形式インストール方法
Debian、Ubuntuおよび互換ディストリビューションdebaptでローカルファイルをインストールし、利用可能なリポジトリから依存関係を解決します。
Fedoraおよびdnfを使う互換RPM環境rpmdnfでインストールします。必要なシステムライブラリが利用できることも確認してください。
アプリを単一ファイルで保存したいデスクトップ環境AppImage実行権限を付与して起動します。必要に応じてFUSEとランタイムライブラリを確認してください。
その他のディストリビューションまたはデスクトップ環境のないサーバー互換条件を先に確認パッケージ形式を変換して互換性を判断しないでください。また、コマンドラインでの実行モードがあるとは限りません。

ターミナルで以下の読み取り専用コマンドを実行します。1つ目でディストリビューション情報を表示し、ID、ID_LIKE、VERSION_IDを確認します。2つ目ではマシンのアーキテクチャを表示します。結果がx86_64またはaarch64の場合は、それぞれダウンロードページに記載された対応アーキテクチャを確認してください。拡張子が同じでも、異なるアーキテクチャのファイルは使えません。

cat /etc/os-release
uname -m

特定のパッケージファイル名を固定して記載したり、すべての形式が各アーキテクチャに用意されていると想定したりはしていません。Linuxのダウンロード欄に現在掲載されているパッケージと要件を確認してください。形式を選んだら、ダウンロードしたファイル名は変更せず、その実際のパスを後続のコマンドで指定します。

2. ダウンロード前の確認とターミナルの準備

クライアントのインストール前にサブスクリプションを読み込む必要はありません。まずデスクトップセッションが正常に動作していることと、システムから設定済みソフトウェアリポジトリにアクセスできることを確認し、インストールパッケージをダウンロードしてください。aptやdnfでローカルファイルをインストールする場合も、ディストリビューションのリポジトリから依存関係を取得することがあります。ファイルのダウンロードが完了していても、インストールを完全にオフラインで実行できるとは限りません。

  1. 環境を確認

    cat /etc/os-releaseとuname -mを実行し、ディストリビューション、システムバージョン、アーキテクチャを記録して、ダウンロードページの説明と照合します。

  2. インストールパッケージを取得

    Shadowrocketのダウンロードページを開き、Linuxの項目から現在のシステムに適したdeb、rpm、またはAppImageを選択してください。この記事ではパッケージへの直リンクは掲載していません。

  3. ファイルのパスを確認

    ファイルマネージャーでダウンロードしたファイルを探し、完全なパスを確認します。ローカライズされた名前のダウンロードフォルダーを使っている場合、~/Downloadsと決めつけないでください。

  4. ターミナルを開く

    以下の対話型コマンドはBash用です。別のシェルを使っている場合は、先にbashと入力してください。ファイルパスはTabキーで補完できるため、スペースや拡張子の入力ミスを防げます。

3. debのインストール:aptでローカルファイルを処理

DebianやUbuntuでは、ローカルのdebをapt installでインストールする方法をおすすめします。下位のインストールツールにファイルを渡すだけの場合と異なり、aptは現在設定されているソフトウェアリポジトリから依存関係を解決できます。以下では実際のファイルパスを読み取り、絶対パスに変換します。ファイル名がリポジトリ内のパッケージ名として扱われるのを防ぐためです。

read -r -e -p 'ダウンロードしたdebファイルのパスを入力:' pkg
pkg="$(realpath -- "$pkg")"
if [ -f "$pkg" ] && [[ "$pkg" == *.deb ]]; then
  sudo apt install "$pkg"
else
  printf '%s\n' 'debファイルが見つかりません。パスを確認してください。'
fi

プロンプトにはファイルパスだけを入力し、シェルコマンド用の外側の引用符は入力しないでください。コマンド内では変数を二重引用符で囲んでいるため、パスにスペースが含まれていてもaptに渡せます。実行前にaptが表示する依存関係とディスク上の変更を確認してください。システムコンポーネントが大量に削除されるなど、想定外の変更が示された場合は、確定せずにキャンセルしてください。

インストールが完了したら、デスクトップのアプリ一覧からShadowrocketを探して起動します。パッケージマネージャーでインストールが完了することと、クライアントが接続できることは別の問題です。依存関係のインストール後、まずウィンドウが正常に開くことを確認してから、サブスクリプションとネットワークを設定してください。

4. rpmのインストール:dnfで処理し、トランザクション内容を確認

Fedoraなどdnfを使うシステムでは、以下の手順でローカルのrpmをインストールできます。rpm形式を使うすべてのディストリビューションがdnfを採用しているわけではありません。別のパッケージマネージャーを使うシステムでは、そのディストリビューションに適した方法でローカルパッケージをインストールしてください。コマンドをそのまま使うために、システムのパッケージ管理ツールを置き換えないでください。

read -r -e -p 'ダウンロードしたrpmファイルのパスを入力:' pkg
pkg="$(realpath -- "$pkg")"
if [ -f "$pkg" ] && [[ "$pkg" == *.rpm ]]; then
  sudo dnf install "$pkg"
else
  printf '%s\n' 'rpmファイルが見つかりません。パスを確認してください。'
fi

dnfには、このトランザクションでインストールされるパッケージと依存関係、関連する注意事項が表示されます。入手元と変更内容に問題がないことを確認してから続行してください。依存関係の競合が発生した場合は、エラーメッセージ全文とシステムバージョンを記録し、強制上書きやチェックを省略するオプションをすぐに追加しないでください。

debインストールの確認項目

ファイル形式
.deb
コマンド
apt install
ファイルの指定
実際のパスを読み取り、絶対パスを使用
依存関係の取得元
現在システムに設定されているソフトウェアリポジトリ

インストールが完了するとシステムのパッケージマネージャーに登録されますが、オンライン更新元へ自動的に追加されるわけではありません。

rpmインストールの確認項目

ファイル形式
.rpm
コマンド
dnf install
前提条件
現在のディストリビューションがdnfを使用していること
トランザクションの確認
追加される依存関係と競合情報を確認

rpm形式が同じでも、ディストリビューションやシステムバージョンをまたいだ互換性が保証されるわけではありません。

5. AppImageに実行権限を付与して初回起動

AppImageには、前の2つの節で説明したパッケージマネージャーを使ったインストール手順は適用されません。まず、現在のユーザーが長期間保存できる場所にファイルを移し、実行権限を付与してください。ブラウザーの一時フォルダーに置いたままにしないでください。ファイルを移動した後は、以前の場所を参照する起動ショートカットも使わないでください。

read -r -e -p 'ダウンロードしたAppImageファイルのパスを入力:' app
app="$(realpath -- "$app")"
if [ -f "$app" ] && [[ "$app" == *.AppImage ]]; then
  chmod u+x -- "$app" && "$app"
else
  printf '%s\n' 'AppImageファイルが見つかりません。パスを確認してください。'
fi

chmod u+xはファイルの所有者にのみ実行権限を付与します。全ユーザーに書き込み権限を与える必要はありません。ファイルの所有者が自分以外の場合は、入手元と保存場所を確認してください。このコマンドはターミナルからアプリを直接起動します。ウィンドウが表示されない場合は、エラー出力を記録しておくと、権限、ランタイムライブラリ、グラフィカルセッションのどこに問題があるか切り分けやすくなります。

パッケージ管理でのインストールと単一ファイル実行の保守方法

deb / rpm
  • インストール状態と依存関係はシステムのパッケージマネージャーに記録されます。
  • 更新時は当サイトのダウンロードページから対応する新しいパッケージを取得し、同じパッケージマネージャーで処理します。
  • アンインストール時はシステムのソフトウェア管理ツールで実際のパッケージ名を確認し、通常の手順で削除します。
AppImage
  • アプリファイルの保存場所と実行権限は自分で管理します。
  • ファイルを置き換える前に実行中のアプリを終了し、必要な設定のバックアップを取ってください。
  • アプリファイルを削除してもユーザー設定は削除されません。ショートカットも個別に削除が必要な場合があります。

保守方法に合わせて形式を選び、AppImageがすべてのディストリビューションで使えると考えないでください。

6. インストール後に手元の設定を読み込み、接続を確認

ウィンドウが正常に開いてから、利用中のサービス提供元から入手した設定を読み込んでください。当サイトではクライアントのインストールと使い方のみを説明しています。クライアントをインストールしても、利用可能な接続先が自動で用意されるわけではなく、既存サービスのアカウント状態、通信量、デバイス制限が変わることもありません。

  1. まず設定を読み込む:現在のバージョンに用意されているインポート機能から、手元にあるサブスクリプションまたは個別の設定を追加します。画面にHome → + → Type → Subscribeと表示される場合は、自分のサブスクリプションURLを省略せずに入力して保存し、更新してください。プラットフォームによって画面構成が異なる場合は、実際の画面に従ってください。
  2. リストを確認:更新後に想定した項目が表示されることを確認し、使用するサーバーを選択します。リストが空の場合は、リンク全体が正しく入力されているか、サービス提供元側の状態に問題がないかを先に確認してください。サブスクリプションの問題を解決するために、ソフトウェアを再インストールしないでください。
  3. ルーティングを確認:現在の画面にGlobal Routingがある場合、Directは直接接続を意味します。Proxyと、ルールに従って動作するConfigは用途が異なります。ルールに基づいて通信を振り分ける場合は、選択中のConfigを確認してください。
  4. テストを使い分ける:まずクライアントの接続を停止した状態でシステムのネットワークが正常か確認し、その後接続を有効にして対象サイトをテストします。Connectivity Testがある場合は、選択したサーバーの確認に利用できます。ただし、テスト結果だけで、すべてのアプリの通信がプロキシ経由になっているとは判断できません。

クライアントが起動してもブラウザーの動作に変化がない場合は、システムプロキシが有効か、別の通信制御方式が使われているか、対象アプリがその方式に対応しているかを確認してください。インストールしただけですべてのプロセスの通信が自動的に制御されるとは限りません。また、他のデバイスで行った権限設定をそのまま適用しないでください。システムの権限確認が表示されたら、要求されている権限の範囲を先に読んでください。

7. インストール失敗・起動時のよくある問題

AppImageに実行権限を付けても「Permission denied」と表示されるのはなぜですか?

ls -lに実際のファイルパスを指定して実行し、実行権限を確認してください。次に、ファイルがあるパーティションがnoexecでマウントされていないか確認します。実行権限が正しくてもパーティションで実行が禁止されている場合は、実行可能なユーザーディレクトリにファイルを移して再試行してください。システム全体のマウント設定を変更しないでください。

AppImageをダブルクリックしても反応せず、ターミナルにFUSEエラーが表示される場合は?

ターミナルに表示されたエラー全文を保存し、現在のディストリビューションのパッケージ情報に従って、対応するFUSE互換ランタイムライブラリをインストールしてください。パッケージ名はシステムによって異なる場合があります。既存のFUSEコンポーネントを安易に置き換えないでください。それでも互換性の問題が解消しない場合は、ダウンロードページでそのシステムに対応するdebまたはrpmを選んでください。

「Exec format error」が表示されるのは、権限が不足しているからですか?

権限を繰り返し追加するのではなく、まず対象アーキテクチャとファイル形式を確認してください。uname -mを実行し、ダウンロードしたファイルと照合します。ファイルを最後までダウンロードできていない場合は、再取得してください。chmodで変更できるのは実行権限であり、あるアーキテクチャ向けのプログラムを別のアーキテクチャ向けに変換することはできません。

aptやdnfでインストール成功と表示されるのに、アプリ一覧に見つからない場合は?

デスクトップのアプリ一覧を開き直し、必要であればデスクトップセッションからログアウトして再度ログインしてください。その後、システムのソフトウェア管理ツールでインストール済みか確認します。起動直後に終了する場合は、実行ファイル名を推測せず、起動時のエラーを記録してください。SSHで接続した純粋なターミナル環境は、ローカルのグラフィカルデスクトップ環境とは異なります。

アプリを更新する前に、古い設定を削除する必要がありますか?

通常の更新手順として設定を削除しないでください。クライアントを終了して既存の設定をバックアップしてから、ダウンロードページで対応するパッケージを取得し、更新してください。新旧バージョン間の移行手順が明記されている場合は、その案内に従います。アプリを再インストールしても、ユーザーディレクトリに保存された設定が削除されるとは限りません。

問題を特定できない場合は、ディストリビューション情報、アーキテクチャ、インストール形式、実行したコマンド、エラー出力の重要な行を記録してください。サブスクリプションの状態をサービス提供元に確認する場合は、サブスクリプションURL全体、アカウントのパスワード、アクセストークンを公開しないでください。接続に関する詳しい確認は、トラブル対処を順にお試しください。

Shadowrocketの全プラットフォーム版をダウンロード