今回は、外出先でもどこでもLinuxを使えるようにするTermuxについて紹介します。
1. Termuxとは
Termuxとは、Androidスマートフォン上でLinuxを動かすアプリケーションです。
Android上で動かしているため、Root権限等の関係で完全な機能は使用できませんが、AndroidでPython等のプログラムを実行したりファイルサーバー等簡易的なサーバーを構築することもできます。
2. Termuxをインストールする
TermuxはGoogle Play Store上からもダウンロードはできますが今後配信停止予定があったり使用できない機能があるため、以下の方法でAPKファイルからインストールすることを推奨します。
(APKとは、Androidアプリケーションをストア以外から手動でインストールするパッケージファイルです)
まず、APKでインストールができるように設定します。
手順:端末の設定で[アプリと通知]➡[Chrome(APKファイルを開くアプリ)]➡詳細設定と開き、[不明なアプリをインストール]のスイッチをオンにします
次に、以下のアプリ配信サイト[F-Droid]からTermuxをダウンロードします。
Termux | F-Droid - Free and Open Source Android App Repository
ダウンロードが完了したら、ダウンロード完了の通知をタップしインストールを行います。
インストールが完了したら、アプリ一覧にTermuxが追加され使えるようになります。
3. Termuxを使用する
パッケージのインストールについて、Linuxで有名なOSであるUbuntuでは、aptを使用しますが、Termuxではpkgコマンドを使用します。
例)パッケージの更新
pkg update
pkg upgrade
例)Zshのインストール
pkg install zsh
(起動時にZshで起動する設定)
chsh -h zsh
また、デフォルトのままではTermux上でAndroidのストレージへアクセスすることはできませんが、以下のコマンドを実行しアクセス権限を取得することでストレージへアクセスすることもできます。
termux-setup-storage
実行後[./storage/shared]に内部ストレージのシンボリックリンクが作成され、ストレージへアクセスすることが可能になります。
バックグラウンドで常時起動させた状態にするには、
termux-wake-lock
を実行してアプリが終了されないようにできます。
※バッテリーの消費が激しくなる可能性があります。
~ SSHについて ~
Termuxへssh接続するには、まずOpenSSHをインストールし起動する必要があります。
pkg install openssh
インストール後、「sshd」と実行し、opensshを起動します。
別の端末からLinuxへ接続して操作する場合は通常、ポート22を使用しますが、Termux の場合はポート8022を指定しないと接続ができないという特徴があります。
オプション「-p」でポートを指定することで、外部からTermux へssh接続ができます。
例) ssh -p 8022 ユーザー名@Android端末のipアドレス
※ユーザー名は、「whoami」コマンドで確認できます。
まとめ
いかがでしたか?Termux についてざっくりとまとめてみました。
Termuxをインストールすることで、Linuxのような機能が使えるようになるので、古い端末にインストールして小型サーバーを構築したり、手持ちのスマートフォンでプログラムを動かせる等可能性がとても幅広くなります。
さらに、viコマンドでファイルにプログラムを記述して保存して動かすなんてこともできちゃうので、PCいらずでスマートフォン一台で完結させることができます。
私の場合はPythonで記述した指定時間にLINEに通知を送信するbotを動かすプログラムをメインで使用しているスマートフォンで動かしています。