いつでもLinuxコマンドが使える!Androidで動くLinux端末「Termux」【Root化不要】

AndroidのコアはLinuxですよね。Androidは世界で20億台が稼働しており、年間10億台以上が出荷されているそうで、おかげでLinuxは「世界一多くのデバイスで動くカーネル」となっています。

【関連記事】

といっても、Androidと普通のLinuxでは使い勝手が全然ちがいますよね。Linux PCのユーザーなら、Androidでも使い慣れたコマンドが使いたくなります。そこでオススメのアプリが「Termux」です。インストールするだけで、「Linuxの端末」に近い環境を使うことができます。こういったアプリはRoot化が必要なことが多いのですが、TermuxはRoot化が不要でストアからインストールするだけです。しかも、パッケージ管理はUbuntuやDebianでおなじみの「APT」を使うことができます。そして、無料かつオープンソースです。

Termuxの特徴

基本的なLinuxコマンドが使える

BashやZshといったシェルから、ほとんどのメジャーなコマンドを実行することができます。find、grep、lessといった定番のツール、VimやEmacsといったエディタ、sshやcurl、rsync、ncといったネットワークツールなどなど、Linuxで良く使われるコマンドの多くが使えます。Androidを使っていて「Linux PCならコマンドで簡単にできるのになぁ」と思うことがある人なら、入れておく価値のあるツールです。

aptコマンドでパッケージ管理ができる

「apt」コマンドといえば、UbuntuやLinux Mint、Debianのパッケージ管理でお馴染みですよね。Termuxもaptコマンドで、パッケージの追加や削除、更新ができます。

【関連記事】

各種開発ツールも動く

Python、PHP、Ruby、Perl、golangといった言語、GitやSubversionといったバージョン管理システム、そしてNode.jsまで、開発に必要なツールの多くも動きます。どこでも開発したいという人に便利ですね。

サーバープログラムも動く

WebサーバーやSSHサーバーといったサーバープログラムも動作します。ただし非rootで動作しているため、1024以下のポート番号は使用できません。そのため、パッケージでSSHサーバーは8022、Webサーバーは8080をListenするよう設定されます。

複数のセッションを開くことができる

画面左端から右のスワイプすると、別セッションを開くことができます。SSHサーバーに接続して作業しているときに、別セッションを開いてローカルのコマンドを実行する、といった使い方ができますね。なお、普通のLinuxと同じように、screenやtmux、byobuを使うこともできます。

キーボードでさらに便利に使える

ちょっとしたコマンドを実行するなら、スクリーンキーボードでも十分使えます。Android標準のキーボードでも使えますが、CtrlやTabといったキーがある「Hacker's Keyboard」に切り替えるのがオススメです。
ガッツリ使うなら、BluetoothもしくはUSB接続のキーボードを接続しましょう。Linux PCと同じ感覚でコマンドを実行することができるようになります。「日本語106/109キーボードレイアウト」を使えば、日本語配列にしたり、CapsキーとCtrlキーを入れ替えたりできて便利です(英語配列設定でCtrlとCapsを入れ替えることもできます)。

Termuxのインストール

Termuxは、通常のAndroidアプリと同様、Playストアから簡単にインストールできます。

Termux
Termux
Developer: Fredrik Fornwall
Price: Free
  • Termux Screenshot
  • Termux Screenshot
  • Termux Screenshot
  • Termux Screenshot
  • Termux Screenshot
  • Termux Screenshot

インストール後、Termuxを開いてコマンドを打てるようになったら、以下のコマンドを実行してパッケージを更新しておきましょう。

apt update
apt upgrade

ストレージのセットアップ

TermuxからAndroidの共有ストレージや外部ストレージ(SDカードなど)にアクセスするには、以下のコマンドを実行します。

termux-setup-storage

Android 6.0以降の場合、以下のような確認ダイアログが表示されるので、「許可」をタップしてください。

すると、以下の通り、~/storage/に各ディレクトリへのシンボリックリンクが作成されます。

~/storage/shared
アプリの内部共有ストレージ
~/storage/downloads
ダウンロードディレクトリ
~/storage/dcim
カメラで撮った写真やビデオのディレクトリ
~/storage/pictures
ピクチャディレクトリ
~/storage/music
音楽ディレクトリ
~/storage/movies
動画ディレクトリ
~/storage/external
外部ストレージ(存在する場合のみ)

これらのディレクトリを使うことで、他のアプリとファイルをやりとりすることができます。

まとめ

以上で、基本的な設定は終了です。あとは、必要なコマンドをaptで追加して、自分好みに環境を整えてください。opensshパッケージを入れて、scpでカスタマイズ済みの設定ファイルをLinux PCからコピーするのもいいですね。

Termuxを使えば、使い慣れたsshコマンドでリモートサーバーに接続したり、開発ツールを入れて開発できるようになります。ポート番号さえ変更すれば、サーバープログラムだって動きます。うまく工夫すれば、普通のLinuxと同じ感覚で使えるようになるので、「Termuxがあるから、ノートPCやタブレットを持ち歩かなくてもいいや」っていう人も増えるんじゃないでしょうか。