Linuxのデスクトップ環境があり、Shadowrocketをインストールしたい方を対象に、ディストリビューションとCPUアーキテクチャの確認から、deb・rpm・AppImageの選択、インストールまたは起動、Home・Config・Global Routingの確認までを説明します。コマンドには実際にダウンロードしたファイルのパスを指定するため、固定のファイル名に依存せず、異なる形式のインストーラーを同じコマンドで扱うこともありません。
ディストリビューションとアーキテクチャを確認する
インストール形式とCPUアーキテクチャは別の条件です。deb・rpmはシステムがソフトウェアを管理する形式を示し、x86_64・aarch64などのアーキテクチャはプログラムが現在のCPUで実行できるかを示します。拡張子が合っていても、アーキテクチャが一致するとは限りません。端末を開き、次の2つのコマンドを実行してディストリビューション名とアーキテクチャを確認してください。
cat /etc/os-release
uname -m
/etc/os-release の ID と ID_LIKE は、システムの系統を判断する際に役立ちます。uname -m の結果は通常、x86_64 や aarch64 などです。ダウンロードページのx64・amd64は一般にx86_64、arm64はaarch64に対応します。ダウンロードページに実際に掲載されている、システムと一致するアーキテクチャを選んでください。形式の変換でアーキテクチャの不一致を解決することはできません。
| システム環境 | 推奨形式 | インストール方法 |
|---|---|---|
| Debian、Ubuntuおよび互換システム | deb | aptでローカルファイルをインストールし、依存関係を解決 |
| Fedoraなどdnfを使用するシステム | rpm | dnfでローカルファイルをインストールし、依存関係を解決 |
| その他の互換性のあるLinuxデスクトップ環境 | AppImage | 実行権限を付与し、一般ユーザーとして起動 |
rpm系のシステムでも、すべてでdnfが使えるとは限りません。dnfがない場合は、Fedora向けのコマンドをそのまま実行しないでください。AppImageもすべてのディストリビューションで動作するわけではなく、CPUアーキテクチャ、システムライブラリ、デスクトップ環境の影響を受けます。この記事ではグラフィカルなデスクトップ環境での利用を前提としています。リモート端末でウィンドウが表示されないことだけを理由に、インストーラーの破損と判断しないでください。
インストール形式と入手方法
ShadowrocketのダウンロードページからLinux用インストーラーを選び、保存後にファイルの拡張子を確認してください。ダウンロードファイル名は固定していません。以降のコマンドには、ダウンロード済みファイルの実際のパスを入力します。ブラウザーでダウンロード中のファイルは実行せず、一時ダウンロード用の拡張子が付いたファイルも、完成したインストーラーとして使用しないでください。
iPhone / iPad版はApp Storeから入手できます。開発者はShadow Launch Technology Limited、価格は$2.99の買い切りです。システム要件はApp Storeの掲載内容をご確認ください。Mac(Appleシリコン/Intel)、Windows、Android、Linux版は無料で、インストーラーは当サイトのダウンロードページから入手できます。Shadowrocketはクローズドソースの商用アプリです。Linux版が無料でも、ソフトウェアの性質は変わりません。
システムの管理方法に合わせて選ぶ
deb / rpmを使う場合
- 対応するパッケージ管理ツールがシステムにある。
- ソフトウェアと依存関係をシステムに記録したい。
- インストール時に管理者権限を許可できる。
AppImageを使う場合
- ダウンロードページに対応アーキテクチャのファイルがある。
- プログラムファイルを個人用ディレクトリに保存したい。
- 実行権限と動作環境を自分で確認できる。
対応するdebまたはrpmがある場合は、システムのパッケージ管理方式を優先してください。AppImageは独立したファイルとして動作しますが、システム依存関係がすべて不要になるわけではありません。
aptでdebをインストールする
DebianやUbuntuなどでは、aptを使ってローカルのdebファイルをインストールする方法がおすすめです。個別に展開する場合と異なり、aptは現在有効なソフトウェアリポジトリから依存関係の解決を試みます。以下の各行を、同じBash端末で順に実行してください。パスには余計な引用符を付けず、絶対パスまたは現在のディレクトリからの相対パスを入力します。
read -r -p 'ダウンロードしたdebファイルの実際のパスを入力:' pkg
pkg=$(realpath -- "$pkg")
dpkg-deb -f "$pkg" Package Architecture
sudo apt update
sudo apt install "$pkg"
dpkg-deb の行はパッケージ名とアーキテクチャを確認するだけで、インストールは実行しません。表示内容が想定どおりであることを確認してから、次のコマンドに進んでください。realpath は入力されたパスを絶対パスに変換し、aptがローカルファイルとして認識できるようにします。ファイルが見つからない場合は、インストールコマンドを実行せず、先にパスを修正してください。
-
ファイルを確認する
ファイルマネージャーでダウンロード済みのdebを確認し、完全なパスを控えてください。ダウンロード先が英語表記のDownloadsフォルダーでない場合は、実際の保存先を指定します。
-
アーキテクチャを確認する
dpkg-deb -fのArchitectureとシステムのアーキテクチャを照合してください。一致しない場合はダウンロードページに戻って適切なファイルを選び、強制インストールオプションは使わないでください。 -
インストールを実行する
aptコマンドを実行し、インストール・アップグレード・削除されるパッケージの一覧を確認してください。システムコンポーネントを広範囲に削除する内容が表示された場合は、いったん中止してディストリビューションとの互換性を確認してください。
-
アプリを起動する
インストールが正常に完了したら、デスクトップのアプリケーションメニューからShadowrocketを起動してください。初回接続時の権限許可を代替する目的で、グラフィカルアプリ全体をsudoで起動しないでください。
dnfでrpmをインストールする
dnfを使用するシステムでローカルのrpmをインストールする場合も、実際のファイルパスを指定します。まずパッケージ情報を確認し、その後dnfで処理を実行します。以下のコマンドは前のセクションとは独立しているため、端末を閉じた後でも、ファイルパスを入力し直せば使えます。
read -r -p 'ダウンロードしたrpmファイルの実際のパスを入力:' pkg
pkg=$(realpath -- "$pkg")
rpm -qp --queryformat '%{NAME} %{ARCH}\n' "$pkg"
sudo dnf install "$pkg"
rpm -qp は、まだインストールされていないローカルパッケージの情報を確認するコマンドです。dnfは依存関係、ダウンロード内容、トランザクションの概要を表示します。内容を確認してから続行してください。依存関係が見つからない場合は、ネットワークとシステムのソフトウェアリポジトリが正常かを先に確認してください。依存関係の確認を無効にしてインストールする方法は、通常の手順として使わないでください。
- アーキテクチャが一致しない場合:
uname -mの結果に合うパッケージをダウンロードページから選び直してください。 - ファイルパスが見つからない場合:余計な引用符や空白、誤ったディレクトリが入力されていないか確認してください。コマンド内の
"$pkg"が、パスに含まれる空白を処理します。 - パッケージが競合する場合:競合するパッケージ名を控え、同じアプリを別のパッケージ形式でインストール済みでないか確認してください。強制上書きオプションは使用しないでください。
- システムにdnfがない場合:現在のディストリビューションでローカルrpmをインストールする方法を確認するか、ダウンロードページに互換性のあるAppImageがあればそちらを選んでください。
debとrpmのインストールでは、依存関係の取得にインターネット接続が必要な場合があります。メインのインストーラーをダウンロードしただけでは、オフラインインストールの準備が完了したことにはなりません。依存関係が不足している場合は、同じファイルを何度もダウンロードするのではなく、まずソフトウェアリポジトリへのアクセスを解決してください。
AppImageを初めて起動する
AppImageは通常、単一のファイルとして保存されます。ダウンロード後は、長期的に使用する個人用ディレクトリに移動してください。debやrpmとは異なり、aptやdnfでインストールする形式ではありません。初回起動の前に、現在のユーザーに実行権限を付与してからファイルを直接起動します。
read -r -p 'AppImageファイルの実際のパスを入力:' app
app=$(realpath -- "$app")
chmod u+x -- "$app"
"$app"
chmod u+x はファイルの所有者にのみ実行権限を付与します。全ユーザーに書き込み権限を与える必要はありません。起動中は端末のウィンドウを閉じずにおくと、起動エラーを確認しやすくなります。通常は現在のデスクトップユーザーで実行してください。エラーを解消するためだけに管理者権限で起動しないでください。
- Permission denied:まずファイルの所有者が現在のユーザーであることと、実行権限があることを確認します。次に、ファイルがあるパーティションが
noexecオプション付きでマウントされていないか確認してください。その場合は、実行可能な個人用ディレクトリにファイルを移動します。 - Exec format error:まずアーキテクチャを確認し、ダウンロードが完了していることも確かめてください。実行権限を付与しても、アーキテクチャの不一致は解決しません。
- FUSE関連のエラー:AppImageの実行方法によってはFUSEが必要です。現在のディストリビューションの手順に従って対応するコンポーネントをインストールしてください。他のシステム向けのパッケージ名をそのまま使わないでください。
- グラフィカル画面が表示されない場合:ローカルのデスクトップセッションから起動してください。SSHで接続した端末では、アプリのウィンドウを表示できる環境が整っていない場合があります。
ダブルクリックすると「開く方法を選択」だけが表示される場合は、前述の端末コマンドから起動し、実行権限の問題かファイルの関連付けの問題かを切り分けてください。AppImageがアプリメニューに自動登録されるかどうかは、デスクトップ環境との連携方法によって異なります。メニューにアイコンがなくても、ファイルが実行できないとは限りません。ファイルを移動すると、以前のショートカットが使えなくなることもあるため、リンク先を更新してください。
インストール後の接続確認
ウィンドウが開くことは、プログラムの起動に成功したことを示すだけで、プロキシ接続が使えることを証明するものではありません。以下は、ご自身が契約しているサービスとサブスクリプションをすでにお持ちであることを前提としています。Homeで既存のサーバー情報またはサブスクリプションを追加し、Configで使用する設定を確認してから、Global Routingを確認してください。インストール形式とネットワークモードを混同しないでください。AppImageに変更しても、通常、ルールの誤りは解決しません。
Config
推奨現在有効な設定のルールに従って、処理対象となったリクエストの接続先を決定します。使用前にConfigで想定した設定が有効になっていることを確認し、末尾のFINALの振り分け先も確認してください。
適した用途:正しい設定があり、ドメインやIPアドレスごとに通信を振り分ける日常利用。
Proxy
処理対象の通信をまとめてプロキシに送ります。サーバーへの接続問題とルールの問題を切り分けるために使えますが、すべてのプロセスが自動的に対象になるわけではありません。
適した用途:プロキシ経由の接続を一時的に確認し、テスト後に元のモードへ戻す場合。
Direct
処理対象の通信をDIRECTとして扱います。このモードでブラウザーから一般のWebサイトにアクセスできても、プロキシサーバーが使えることの証明にはなりません。
適した用途:ローカルネットワークの基本接続を確認し、プロキシ経由の通信と比較する場合。
たとえばConfigに次のルールがある場合、example.comとそのサブドメインにはPROXYを使い、それ以外の一致しないリクエストにはDIRECTを使います。これはルール構文の例であり、サーバー設定ではありません。また、利用可能な接続が自動的に作成されるわけでもありません。問題を切り分ける際は、実際に適用されたルールを確認してから接続先を確認してください。ルールの一部を完全な設定ファイルとして直接インポートしないでください。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
インストールとアップデートに関するよくある質問
aptでファイルが見つからないと言われます。ダウンロード済みなのに、なぜですか?
まずファイルマネージャーで保存先を確認し、パスを読み込むコマンドをもう一度実行してください。ダウンロードページのURLではなく、ファイルの実際のパスを入力します。パスに空白が含まれていてもそのまま入力できますが、自分で引用符を追加しないでください。ファイルが存在し、ダウンロードが完了していることを確認してからインストールに進みます。
AppImageに実行権限を付けても起動しません。どうすればよいですか?
端末からファイルを実行し、エラー内容を確認してください。アーキテクチャ、実行権限、マウントオプション、FUSE、ランタイムライブラリの順に調べます。システムライブラリの不足が明示された場合は、現在のディストリビューションのパッケージ情報に従って対処してください。システムのセキュリティ機能を無効にして解決を試みないでください。
debやrpmはシステムに合わせて自動更新されますか?
ローカルパッケージをインストールしても、ソフトウェアリポジトリが自動的に追加されるわけではありません。アップデートの提供元が確認できない場合は、当サイトのダウンロードページから対応パッケージを入手し、同じパッケージ管理方式でインストールしてください。AppImageの場合は、アプリを終了してから新しくダウンロードした対応ファイルに置き換え、実行権限を再確認します。
再インストールの前に設定を削除する必要がありますか?
最初の対処として設定を削除しないでください。まず既存の設定とサブスクリプション情報を保存し、問題が起動・インポート・接続のどの段階で発生するかを切り分けます。システムパッケージとユーザー設定は通常別の場所に保存されます。パッケージのアンインストールを、設定の確実なバックアップや削除の手段とみなさないでください。
インストール後は、ディストリビューション、アーキテクチャ、使用したパッケージ形式、具体的なエラー内容を記録しておくと役立ちます。追加で調べる際は、こうした情報が「Linux版が開かない」という説明よりも有用です。ログを共有する前に、サブスクリプショントークン、パスワード、個人のサーバー情報を削除してください。問題の原因を見極めるため、設定は一度に1つだけ変更します。