コマンドを実行できるターミナル環境をiPhoneやiPadで用意しようとすると、脱獄を思い浮かべる人は多いはず。しかし、脱獄にはセキュリティ上のリスクも付きまといます。無料のiOS向けアプリ「iSH」を使うと、iPhoneやiPadを脱獄せずともUNIXコマンドを実行できるターミナル環境を構築できます。

iSH

https://ish.app/

iSH Shell on the App Store

https://apps.apple.com/us/app/ish-shell/id1436902243

まずはApp Storeにアクセスして「入手」をタップし、iSHをインストールします。



インストールが完了したら「開く」をタップ。



iSHが起動し、ターミナル画面が表示されました。



実行ユーザー名は「root」、ホームディレクトリは「/root」、カーネル名は「Linux iPhone 4.20.69-ish」となっています。



iSHではさまざまなUNIXコマンドを利用することが可能。例えば「ping」コマンドで疎通確認を行ったり……



「top」コマンドでリソース利用状況を確認したりすることができます。



ほとんどのコマンドはBusyBoxのシンボリックリンクという形で実装されているため、Busyboxに含まれているコマンドは一通り実行できます。



iSHは以前からAppleのベータテストプラットフォーム「TestFlight」にベータ版を公開しており、「apk」パッケージマネージャーを使ってソフトウェアを追加することができましたが、App Storeに公開された正式版では「apk」コマンドは利用できなくなっています。また、「apt」や「yum」、「pip」といった一般的なパッケージマネージャーも利用できません。



キーボード上部にはTabキーやCtrlキー、Escキー、カーソルキーを補完するボタンが備わっています。



キーボード上部の歯車ボタンをタップすると、iSHの各種設定を行えます。



「Appearance」の項目では、iSHの外観を変更することが可能。



「Light」モードや……



「Dark」モード



緑色のフォントでレトロな雰囲気を楽しめる「1337」モードを利用できます。



種類は少ないものの、フォントを変更することも可能。



iSHはファイルを外部アプリからコピーできるのが大きな特徴。例えば写真アプリで画像をコピーしておいて……



iSHの設定から「Filesystems」を選択。



「Browse Files」をタップすると……



ファイルアプリでiSHのルートディレクトリが表示されるので、画像を貼り付けたいディレクトリで画面を長押しし「ペースト」をタップ。



こんな感じで画像を貼り付けることができていればOK。



これでiSHのターミナルから画像ファイルを扱うことができるようになります。



記事作成時点ではApp StoreからインストールできたiSHですが、2020年10月26日にAppleから「App Storeガイドライン違反」通知を受けたとのこと。iSHが「リモートからコードをインポートできるコマンドを含んでいる」ため、App Storeガイドラインの2.5.2項に違反するとAppleに判断されたようです。iSHの開発チームは違反通知を受けてから、Appleに対してiSHの正当性をメールや電話を通して再三主張してきましたが、その主張が認められることはなく、2020年11月9日以降ストアから削除される見通しであるとのこと。

iOS向けターミナルアプリ「a-shell」も、iSHと同様の通知をAppleから受けたとTwitter上でコメントしています。



なお、iSHはTestFlightからは引き続きインストールすることが可能。下記URLからベータテスト申請を行うことでiSHを利用することができます。

「iSH Shell」のベータ版に参加 - TestFlight - Apple

https://testflight.apple.com/join/97i7KM8O