Shadowrocket Linux版をインストールする前に、ディストリビューションとCPUアーキテクチャを確認しましょう。DebianやUbuntu系では通常deb、Fedoraなどdnfを使うシステムでは通常rpmを選び、ファイルを直接実行したい場合はAppImageを検討します。この記事ではローカルファイルのインストールコマンド、実行権限の設定、起動できない場合の確認方法を紹介します。インストール後は、利用中のサービスから取得したサブスクリプションを読み込みます。インストールできても、接続が使えるとは限りません。
1. ディストリビューションを確認してインストール形式を選ぶ
deb、rpm、AppImageは配布形式の違いであり、プロキシプロトコルの種類ではありません。まずシステムのパッケージ管理ツールを確認し、次にダウンロードページに記載されたアーキテクチャと動作条件を確かめます。同じ拡張子でも、すべてのLinuxシステムで使えるとは限りません。ファイルをダウンロードできても、現在のマシンで実行できるとは限りません。
| システム環境 | 推奨形式 | インストール・起動方法 |
|---|---|---|
| Debian、Ubuntu、およびaptを使う派生ディストリビューション | deb | sudo apt install ./shadowrocket.deb |
| Fedora、およびdnfを使うRPM系ディストリビューション | rpm | sudo dnf install ./shadowrocket.rpm |
| 独立したファイルを直接実行したいデスクトップ環境 | AppImage | 実行権限を付与して、通常ユーザーとして起動 |
まず、ターミナルで次のコマンドを実行します。/etc/os-releaseのIDとID_LIKEでディストリビューションを確認し、uname -mでマシンのアーキテクチャを調べられます。デスクトップの見た目だけでシステムを判断せず、CPUが同じだからといって依存関係の確認を省略しないでください。
cat /etc/os-release
uname -m
たとえば、x86_64とaarch64は異なるアーキテクチャを表します。ダウンロード時に、使用中のマシンに対応するビルドが提供されているか確認してください。該当するものがない場合、別のアーキテクチャ向けのパッケージを試しにインストールしないでください。AppImageもアーキテクチャやシステムライブラリの条件に左右され、異なるアーキテクチャに変換する汎用ツールではありません。
2. ダウンロードしたファイルを4ステップで準備
以下のコマンドにあるshadowrocket.deb、shadowrocket.rpm、shadowrocket.AppImageは、入力しやすくするためのローカルファイル名です。サーバー上のインストールファイル名ではありません。実際のファイルをダウンロードしてから、ファイルマネージャーで該当の名前に変更してください。元の名前を使う場合は、コマンド内のファイル名をディスク上の実際のファイル名に置き換えます。
-
環境を確認
ターミナルを開き、
cat /etc/os-releaseとuname -mを実行して、ディストリビューションとアーキテクチャを控えます。ダウンロードページの記載と照らし合わせ、対応するパッケージを選んでください。 -
ファイルを入手
ダウンロードページのLinux欄を開き、deb、rpm、AppImageのいずれかを選択します。ブラウザーのダウンロードが完了するまで待ち、ダウンロード中の一時ファイルにインストールコマンドを実行しないでください。
-
ファイルのあるディレクトリを開く
ファイルマネージャーでインストールファイルを探し、「端末で開く」機能を使ってそのディレクトリに移動します。ファイルが実際に
~/Downloadsにある場合は、cd ~/Downloadsを実行しても構いません。ディレクトリ名がローカライズされている場合や変更している場合は、実際のパスを指定してください。 -
形式に合ったコマンドを選ぶ
debにはapt、rpmにはdnfを使います。AppImageはまず
chmod u+xを実行し、その後通常ユーザーとして起動します。いずれか1つの方法を選べばよく、3種類すべてをインストールする必要はありません。
始める前にpwdで現在のディレクトリを確認し、ls -lhでファイルがあることを確かめます。パスに空白が含まれる場合は、引用符で囲みます。例:sudo apt install "./shadowrocket linux.deb"。ここでの./は現在のディレクトリにあるローカルファイルを示すため、省略しないでください。
3. debをインストールする:aptで依存関係を処理
DebianやUbuntuなどaptを使うシステムでは、ローカルのdebファイルをaptでインストールする方法が適しています。パッケージの依存関係を読み取り、システムに設定済みのソフトウェアソースから必要な依存関係を補おうとします。インストールファイルがローカルにあっても、インストール中にインターネット接続が不要とは限りません。
sudo apt update
sudo apt install ./shadowrocket.deb
1つ目のコマンドでソフトウェアソースの情報を更新し、2つ目のコマンドで現在のディレクトリにあるファイルをインストールします。sudoのパスワードを入力している間、ターミナルに文字やアスタリスクが表示されないことがあります。これはターミナルの通常の動作です。確認画面で、インストール・アップグレード・削除される項目を確認してから続行してください。依存関係の変更に異常がある場合は、そのまま進めないでください。
- ファイルが見つからない場合:
pwdとls -lhを実行し、ディレクトリ、英字の大文字・小文字、ファイル名が完全に一致しているか確認してください。 - アーキテクチャが一致しない場合:
uname -mの結果とダウンロードしたファイルを再確認してください。アーキテクチャの確認を強制的に無視するオプションは追加しないでください。 - 依存関係を満たせない場合:まず
sudo apt updateが正常に完了するか確認し、次にディストリビューションがパッケージの動作条件に合っているか確かめてください。 - パッケージ管理ツールがロックされている場合:システム更新や別のインストール処理が終わるまで待ち、ロックファイルを直接削除しないでください。
以前に別のツールを使って依存関係が未解決のまま残った場合は、sudo apt --fix-broken installを実行し、修復内容を確認してから進めてください。これはシステムのパッケージ依存関係を修復するコマンドであり、互換性のないパッケージを現在のシステムで使えるようにするものではありません。インストール後は、デスクトップのアプリ一覧からShadowrocketを起動してください。グラフィカルアプリ全体をsudoで起動しないでください。
4. rpmをインストールする:dnfでローカルパッケージを導入
Fedoraなどdnfを使うシステムでは、ローカルのrpmファイルを指定してインストールします。rpmはパッケージ形式、dnfは依存関係を処理できるパッケージ管理ツールです。rpm形式を使うほかのディストリビューションがdnfを採用しているとは限りません。別のパッケージ管理ツールを追加でインストールするのではなく、各ディストリビューションの手順に従ってください。
sudo dnf install ./shadowrocket.rpm
dnfには、追加が必要な依存関係や変更内容を含む処理概要が表示されます。依存関係が見つからないと表示された場合は、システムのバージョン、ソフトウェアソースの利用可否、パッケージの対応範囲を確認してください。警告を消すために--nodepsで依存関係を強制的に無視したり、システムライブラリを安易に置き換えたりしないでください。
debの場合
- パッケージ管理ツール
- apt
- ローカルインストール
sudo apt install ./shadowrocket.deb- 依存関係の取得先
- システムに設定済みのソフトウェアソース
- 起動方法
- インストール後、アプリ一覧から起動
debファイルをdnfに渡さないでください。また、ローカルファイルのパスを省略しないでください。
rpmの場合
- パッケージ管理ツール
- この記事のコマンドはdnf向けです
- ローカルインストール
sudo dnf install ./shadowrocket.rpm- 依存関係の取得先
- システムで有効になっているソフトウェアソース
- 起動方法
- インストール後、アプリ一覧から起動
rpm形式でも、すべてのRPM系ディストリビューションでそのまま動作するとは限りません。
5. AppImage:実行権限を付与して起動
AppImageは通常、aptやdnfでシステムのパッケージとして登録しません。ファイルをユーザーディレクトリ内の、継続して保管できる場所に置き、実行権限を付与してから直接起動します。削除される可能性のある一時ディレクトリに置き続けないでください。また、debやrpmと同じようにパッケージ管理ツールでインストールしないでください。
chmod u+x ./shadowrocket.AppImage
./shadowrocket.AppImage
chmod u+xはファイル所有者に実行権限を付与するコマンドです。chmod 777は使わないでください。ターミナルから起動するとエラー出力を確認でき、権限、アーキテクチャ、実行時ライブラリの問題を切り分けやすくなります。ダブルクリックしてもウィンドウが表示されないからといって、アプリがバックグラウンドで動いているとは限りません。
Permission denied:まず実行権限を確認してください。ファイルがnoexecオプションでマウントされたディスク上にある場合、実行権限があっても起動できないことがあります。実行可能なユーザーディレクトリに移動してください。Exec format error:まずアーキテクチャとファイルが完全にダウンロードされているか確認してください。実行権限を付与しても、アーキテクチャの不一致は解決しません。- FUSE関連のエラーが表示された場合:AppImageの実行に互換性のあるFUSEライブラリが必要なことがあります。パッケージ名はディストリビューションによって異なるため、使用中のシステムのパッケージ情報を確認してください。FUSE関連のシステムコンポーネントを安易に置き換えないでください。
GLIBCのバージョンや共有ライブラリの不足が表示された場合:システムの動作条件を確認してください。システムのlibcを手動で上書きしたり、入手元が不明なライブラリをシステムディレクトリにコピーしたりしないでください。
AppImageを更新する際は、まず実行中のアプリを終了してからファイルを置き換え、新しいファイルの実行権限を確認してください。既存の設定はバックアップしておきましょう。ファイルを交換しても設定が消えるとは限りません。debやrpmをローカルインストールしても、自動更新用のソフトウェアソースが追加されるわけではありません。次回以降も当サイトのダウンロードページから入手してください。
6. インストール後は設定とルーティングを個別に確認
インストールで確認できるのは「プログラムが起動するかどうか」です。サブスクリプションとルーティングでは「接続をどう確立し、通信をどう処理するか」を設定します。Shadowrocketを起動したら、まずHomeに接続情報がそろっているか確認し、次にConfigとGlobal Routingを確認してください。Linuxのデスクトップ環境ごとに画面構成が異なるため、ボタンの位置を一律には案内できません。実際のアプリに表示される項目を確認してください。
- 利用中のサービスから取得したサブスクリプションリンクを用意し、Subscribeから読み込みます。読み込み後に項目が実際に表示されることを確認し、更新後も内容を再確認してください。
- 手動で追加する場合は、Add Serverで情報に対応するTypeを選びます。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardでは入力項目が異なるため、設定を使い回さないでください。
- アドレス、ポート、認証情報を確認してください。サーバーのポートはサービス提供元から指定されます。よく使われる接続ポートが
443だからといって、独自に変更しないでください。 - Global Routingの現在の設定を確認してから、アクセスできることが分かっている宛先でテストします。アプリの起動、設定の保存、接続の利用可否は、それぞれ別に確認する必要があります。
Config
推奨現在の設定にあるルールに従って処理方法を選びます。ルールが目的に合っているか確認してください。FINALは、それ以前のルールに一致しなかった場合の最終処理を決めます。常にプロキシまたは直接接続になるわけではありません。
適した用途:使用可能なルール設定があり、宛先ごとに通信を振り分けたい場合
Proxy
プロキシ処理の対象となる接続にプロキシ方針を適用します。Configの結果と比較する際に使えますが、Linux上のすべてのプログラムの通信がプロキシ経由になったことを意味するわけではありません。
適した用途:ルールの選択が失敗の原因か、一時的に確認したい場合
Direct
処理対象の接続を直接接続にします。ローカルネットワーク経由のアクセス結果を比較する際に使います。Directのままウェブページにアクセスできても、プロキシ接続が機能している証拠にはなりません。
適した用途:直接接続とプロキシ接続のアクセス結果を比較したい場合
ブラウザーとターミナルでアクセス結果が異なる場合は、両方が同じプロキシの接続先を使っているか、システムプロキシや環境変数をそれぞれ参照しているか確認してください。ローカルの待ち受けポートを推測で入力しないでください。アプリで実際に有効になっているアドレス、ポート、プロキシの種類を確認します。パッケージ形式を変更しても、サブスクリプション設定の誤りは直りません。ルーティング設定の代わりにもなりません。
7. よくある質問:まずターミナルの出力を確認
debをダウンロードしたのに、システムにaptがありません。どうすればよいですか?
cat /etc/os-releaseを実行してディストリビューションを確認し、ダウンロードページに戻って対応する形式を選んでください。debをインストールするためだけに、Debian系以外のシステムへaptを追加しないでください。また、互換性を確認せずにパッケージ形式を変換して回避しようとしないでください。
AppImageをダブルクリックしても反応しません。管理者権限で起動すべきですか?
ファイルのあるディレクトリでchmod u+x ./shadowrocket.AppImageを実行し、続けて./shadowrocket.AppImageを実行してエラーを確認してください。通常の起動にsudoは不要です。出力に応じて、権限、マウントオプション、FUSE、実行時ライブラリの問題を調べてください。
インストール後にアプリメニューに表示されません。どうすればよいですか?
AppImageは直接実行しても、アプリメニューに自動登録されるとは限りません。まずターミナルから起動してください。debやrpmの場合は、パッケージ管理ツールの処理が正常に完了したことを確認してからアプリ一覧を開き直します。インストールエラーを、インストール完了と取り違えないでください。
サブスクリプションの読み込みに失敗しました。Linux版を再インストールすべきですか?
利用中のサービスから取得したリンクに抜けがないか、有効期限が切れていないか、現在のネットワークからサブスクリプションのURLにアクセスできるかを確認してください。エラーを共有する場合は、内容を伏せた状態で提示し、token、UUID、パスワード、サブスクリプションリンク全体を公開しないでください。アプリが正常に起動するなら、再インストールを繰り返すのではなく、設定とネットワークを先に確認しましょう。
サポートに調査を依頼する際は、ディストリビューション、uname -mの出力、選択したパッケージ形式、実行したコマンド、エラー全文を記録してください。「依存関係のインストールに失敗」「ウィンドウが起動しない」「サブスクリプションを更新できない」「接続後に宛先を開けない」を分けて説明すると、異なる段階の問題を切り分けやすくなります。