この記事では、Linuxデスクトップ環境へのShadowrocketのインストール方法を説明します。まずディストリビューションとCPUアーキテクチャを確認し、deb、rpm、AppImageから適切な形式を選びます。その後、依存関係や実行権限、初回起動時のエラーに対処します。コマンド内のファイル名は、ダウンロード後にローカルで変更する例です。インストーラーのダウンロード先ではありません。アプリのファイルはサイトのダウンロードページから取得してください。
1. Linuxのインストール形式を選ぶ:ディストリビューションとアーキテクチャを確認
Linuxではデスクトップの見た目ではなく、ディストリビューションのパッケージ管理方式に合わせて形式を選びます。Ubuntu、Debianおよび同じパッケージ管理方式を採用するディストリビューションでは、通常debを選びます。Fedoraなどdnfを使うシステムではrpmを選びます。アプリのファイルを単独で保管したい場合は、AppImageが現在のシステム環境に対応しているか確認してください。rpmはファイル形式の名称であり、rpmを使うすべてのディストリビューションがdnfを採用しているわけではありません。
-
システムを確認
ターミナルを開いて
cat /etc/os-releaseを実行し、IDとID_LIKEを確認します。パッケージマネージャーは、まずディストリビューションの公式ドキュメントで確認してください。ファイルマネージャーやデスクトップテーマから判断しないでください。 -
アーキテクチャを確認
uname -mを実行します。一般的な出力では、x86_64は64ビットx86、aarch64は64ビットARMを示します。ダウンロードページにあるインストーラーのアーキテクチャと一致している必要があります。 -
ファイルを取得
ダウンロードページのLinuxセクションを開き、システムに合ったファイルを選びます。対応するアーキテクチャのファイルがない場合は、拡張子を変更したり、何度も権限を付与して実行を試したりしないでください。
-
作業ディレクトリを準備
ファイルマネージャーでダウンロード先のフォルダーを開き、そのフォルダーでターミナルを起動します。以下のコマンドはすべてファイルがあるディレクトリで実行します。ディレクトリ名にスペースが含まれる場合は、移動先のパス全体を引用符で囲んでください。
cat /etc/os-release
uname -m
pwd
ls -lh
Linuxでは、uname -m で確認できるのはマシンのアーキテクチャだけで、AppImageの実行に必要な依存関係がすべて満たされているとは限りません。debパッケージの amd64 は、通常、マシンの出力 x86_64 と同じアーキテクチャを指します。表記が異なっていても、ファイル形式を変換する必要があるとは限りません。ダウンロードページの表示とパッケージ内の情報を照合してください。
2. Debian/Ubuntu:ローカルのdebをaptでインストール
DebianやUbuntuでは、ローカルのdebをインストールする際に apt install ./ファイル名.deb を使うと、パッケージマネージャーが依存関係も処理します。まず、ダウンロードしたdebのファイル名をファイルマネージャーで shadowrocket.deb に変更します。現在のディレクトリに、今回インストールするファイルだけがあることを確認してから、以下のコマンドを実行してください。名前の変更は入力を簡単にするためのもので、パッケージ内部の名称やアーキテクチャは変わりません。
dpkg-deb -f ./shadowrocket.deb Package Architecture
sudo apt update
sudo apt install ./shadowrocket.deb
Debian系システムでは、1行目でパッケージ内の名称とアーキテクチャを読み取ります。インストールは行いません。2行目で設定済みソフトウェアリポジトリのインデックスを更新し、3行目で現在のディレクトリにあるファイルをインストールします。./ は省略しないでください。省略するとaptがダウンロードしたファイルではなく、パッケージ名で検索する場合があります。sudoのパスワードを入力しても、ターミナルに文字が表示されないのは通常の動作です。
- ファイルが見つからない場合:
pwdとls -lhを実行し、ターミナルの現在位置、大文字・小文字、実際の拡張子を確認します。ローカルファイルを指定する引数に、ウェブページのURLを直接入力しないでください。 - 依存関係を解決できない場合:不足している依存パッケージ名とバージョン条件を記録し、システムのバージョンとソフトウェアリポジトリが適切か確認します。インストールを完了させるために、別のディストリビューションのリポジトリを追加しないでください。
- アーキテクチャが一致しない場合:
dpkg-debの出力とシステムのアーキテクチャを照合し、適切なファイルを選び直してください。実行権限を付与しても、アーキテクチャの不一致は解決しません。 - ロックが使用中と表示された場合:システムアップデーターや別のaptプロセスが実行中か確認し、完了するまで待ってください。ロックファイルを直接削除しないでください。
3. Fedora:ローカルのrpmをdnfでインストール
Fedoraでは、ダウンロードしたrpmをdnfでインストールできます。今回ダウンロードしたファイルの名前をローカルで shadowrocket.rpm に変更し、ファイルのあるディレクトリに移動してから、パッケージ情報を確認し、インストールを実行します。dnfを使わない他のrpm系システムでは、そのディストリビューション独自のパッケージ管理手順に従ってください。Fedora用のコマンドをそのまま流用しないでください。
rpm -qp --queryformat '%{NAME} %{ARCH}\n' ./shadowrocket.rpm
sudo dnf install ./shadowrocket.rpm
Fedoraでは、rpm -qp で未インストールのパッケージファイルを照会し、内部名称とアーキテクチャを確認できます。dnf install はインストールと依存関係の解決を行います。確認画面が表示されたら、インストール、アップグレード、削除される項目を確認してから続行してください。想定外の大量削除が表示された場合は中止し、システムとの互換性を確認してください。
パッケージ管理コマンドはシステムに合わせて使う
Debian / Ubuntu
- ローカルファイルの形式はdebです。
dpkg-deb -fでパッケージ情報を読み取ります。apt install ./shadowrocket.debでインストールします。
Fedora
- ローカルファイルの形式はrpmです。
rpm -qpでパッケージ情報を読み取ります。dnf install ./shadowrocket.rpmでインストールします。
システムを確認して、該当するコマンド一式を実行してください。1回のインストールで両方のコマンドを実行する必要はありません。
Fedoraで発生するダウンロード失敗、依存関係の競合、署名に関する警告は、それぞれ分けて確認します。依存パッケージをダウンロードできない場合は、システムのソフトウェアリポジトリとネットワークを確認してください。依存関係の競合では、対象のパッケージ名と条件を確認します。配布元や署名に関する警告が出た場合は、ファイルがサイトのダウンロードページから取得されたか、システムのポリシーと合っているかを確認してください。検証を省略することを、一般的なインストール手順にしないでください。
4. AppImage:実行権限を付与してターミナルから起動
LinuxのAppImageはaptやdnfでインストールしませんが、CPUアーキテクチャ、システムライブラリ、マウント方式、デスクトップ環境の影響を受けます。「インストール不要」とは、ファイルを保持して起動できるという意味で、すべてのディストリビューションでそのまま動作するという意味ではありません。ダウンロードしたファイルをローカルで Shadowrocket.AppImage に変更し、書き込み権限があり、プログラムの実行が許可されたディレクトリに保存してください。
ls -l ./Shadowrocket.AppImage
chmod u+x ./Shadowrocket.AppImage
./Shadowrocket.AppImage
AppImageでは、chmod u+x を実行するとファイル所有者に実行権限が付与されます。これは chmod +x の対象を明確にした書き方です。コマンドの先頭にある ./ は現在のディレクトリにあるファイルを実行する指定です。ファイル名だけを入力した場合、通常ターミナルは PATH に含まれるディレクトリのみを検索します。初回起動をターミナルから行うと、ダブルクリックでは確認できないエラー情報を表示できます。
| ターミナルに表示される現象 | まず確認する項目 | 対処方法 |
|---|---|---|
Permission denied | 実行ビットとファイルシステムのマウントオプション | まず ls -l で確認します。実行ビットが付与されている場合は、noexec のパーティション上にないか確認してください。 |
Exec format error | CPUアーキテクチャまたはファイルの内容 | uname -m と file ./Shadowrocket.AppImage の出力を照合し、必要に応じて対応するファイルを再ダウンロードしてください。 |
| FUSEに関するエラー | AppImageの実行に必要なFUSE環境 | ディストリビューションのドキュメントに従って互換ライブラリを確認してください。必要なパッケージ名はディストリビューションによって異なるため、別のシステムのパッケージ名をそのまま使わないでください。 |
| ディスプレイサービスに接続できない | GUIデスクトップのユーザーセッションで実行しているか | デスクトップ上のターミナルに戻って起動してください。SSHのみの環境やGUIセッションのない環境は、デスクトップ実行環境とは異なります。 |
外付けドライブや共有ディレクトリに置いたAppImageは、ls -l で実行可能と表示されていても、マウント時の設定によって実行を拒否されることがあります。ファイルをホームディレクトリ内の実行可能な場所に移して、再度試してください。ダウンロードフォルダー全体の権限を再帰的に変更したり、すべてのユーザーに書き込み権限を与えたり、システムのセキュリティ機能を無効にしたりして、原因の切り分けに代えることは避けてください。
5. 初回起動:インストール成功と接続状態を分けて確認
LinuxでShadowrocketのウィンドウが表示されても、確認できるのはアプリが起動したことだけで、プロキシ接続が利用できるとは限りません。以降の設定は、利用者自身がすでにサービス提供元と契約し、サブスクリプションを保有していることを前提とします。サイトではノードやサブスクリプションを提供、販売、推奨していません。まず手元の設定をインポートし、Homeの接続状態とGlobal Routingを確認してください。設定が空のままインストーラーを何度も再インストールする必要はありません。
- インストールしたアプリはデスクトップのアプリ一覧から開きます。AppImageの場合は保存したファイルを実行してください。システム権限の確認が表示されたら、用途を読んでから必要な操作に応じて許可します。
- Configで現在使用中の設定と、利用者がすでに持っているサブスクリプションのインポート結果を確認します。例のアドレス
https://example.com/sub?token=xxxxは形式を示すためのもので、利用可能なサブスクリプションではありません。 - Homeに戻り、SERVER一覧、選択中の項目、Global Routingを確認します。接続スイッチに
Not Connectedと表示される場合は、まず接続状態に対処してください。 - 設定を確認して接続を確立した後、
Connectivity Testで結果を確認します。テストがタイムアウトしても、deb、rpm、AppImageのインストール失敗を意味するわけではありません。接続先、ネットワーク、設定を引き続き確認してください。
Global Routingが表示される画面では、Config、Proxy、Direct、Sceneはルーティング方式を示すもので、インストール形式ではありません。以下の比較は、アプリが処理する範囲内の接続に限ります。システム上の通信がアプリに渡るかどうかは、実際の処理方式と権限にも左右されます。初回の確認では対象を1つに絞り、一度に変更する設定は1つだけにしてください。モード、DNS、サブスクリプションを同時に変更すると、原因を特定しにくくなります。
Config
推奨現在の設定に含まれるルールに基づいて接続先を振り分けます。DOMAIN-SUFFIX、IP-CIDR、GEOIPなどのルール順と、末尾のFINALの振り分け先を確認してください。Configを選んでも、ルールに一致しない接続が必ず直接接続になるとは限りません。
適した用途:有効なルール設定があり、日常的な振り分けを確認したい場合。
Proxy
アプリが処理する範囲内の接続をプロキシ経由にします。Configのルール適用結果と比較する際に使えます。切り替えても失敗する場合は、選択したサーバーとネットワーク環境を確認してください。
適した用途:ルールの選択とプロキシ接続のどちらに問題があるか、一時的に切り分けたい場合。
Direct
アプリが処理する範囲内の接続を直接接続にします。アプリを停止する機能ではありません。また、このモードでウェブページが開けても、それだけでプロキシ設定が有効だとは判断できません。
適した用途:現在のネットワークで直接接続できるか比較したい場合。
Sceneが表示される画面では、まず該当するシーンの設定を確認してから、実際の動作を判断してください。Sceneを常に全体へ適用されるプロキシ設定、または常時直接接続する設定とみなさないでください。Linux版によって画面の配置が異なる場合は、アプリ内に表示される名称を基準にします。システムの接続権限、アプリのルーティング、サーバーとの通信状態は、それぞれ個別に確認してください。
6. 更新とトラブル記録:設定を保護し、再インストールを繰り返さない
Linux版を更新する前に、必要な設定情報を保存してください。特に、サブスクリプションの取得元、手動で入力したサーバーパラメーター、ルールファイルは保管しておきます。インストール形式が異なってもデータディレクトリが共通とは限りません。また、「アプリのファイルを削除」しても「設定がすべて削除」されるとは限りません。token、パスワード、秘密鍵を含む情報は個別に保護し、公開するトラブル記録に添付しないでください。
- debの更新:ダウンロードページから対応するファイルを取得し、ローカルdebのインストールコマンドを実行します。ファイル名から更新の関係を推測せず、パッケージマネージャーにパッケージ内部のバージョンを判定させてください。
- rpmの更新:同様にdnfでローカルのrpmを処理し、トランザクションの概要を確認します。競合が発生した場合はエラーの原文を保存し、システムファイルを無理に上書きしないでください。
- AppImageの更新:実行中のアプリを終了し、設定を保存してからファイルを置き換えます。新しいファイルの実行権限を改めて確認してください。デスクトップショートカットの起動先も変更が必要な場合があります。
- ウィンドウが重複する、または古いアプリが起動する場合:deb、rpm、AppImageの起動項目が複数残っていないか確認してください。現在どのファイルから起動しているかを特定してから、残すインストール方法を決めます。
Linuxのインストール時は、「ファイルの適合性 → パッケージ管理または実行権限 → アプリの起動 → 設定と接続」の順で確認します。最初の段階で問題が発生した場合に限り、インストール形式を選び直してください。ウィンドウが正常に開いた後は、アプリの設定とネットワークの診断に進みます。原因を見極めずにアンインストールを繰り返さないでください。