「外出先でもリモートサーバーへのSSH接続や、手軽なLinux環境を利用したい!」という願いをかなえてくれるのが、無料のAndroid向けアプリケーション「Termux」です。Termuxはパッケージマネージャー経由でSSHクライアントやウェブサーバー、ウィンドウシステムなどをインストールできる、軽量版Linuxのような使い方が可能な高機能ターミナルです。

Termux

https://termux.com/

Termux - Google Play のアプリ

https://play.google.com/store/apps/details?id=com.termux

まずはGoogle Play Storeにアクセスして、Termuxをインストールします。



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



Termuxが起動しました。



ユーザー名、ホームディレクトリ、カーネル情報は以下。



Termuxの大きな特徴はAPTパッケージマネージャーが利用できる点。「apt update」を実行し、リポジトリ情報を更新しておきます。



続いて「apt upgrade」でパッケージをアップグレード。root権限なしでもパッケージのインストールやアップグレードが行えます。



APTでインストールできるDropbearやOpenSSHといったパッケージをインストールすれば……



SSHクライアントとしてTermuxを利用することができます。



こんな感じで、PCのターミナルと同じようにリモートサーバーにSSH接続を行うことが可能。



ウェブサーバーのApacheもインストールすることができます。



インストール後Apacheを起動して、スマートフォンのブラウザから「127.0.0.1:8080」にアクセスすると……



Termuxで稼働するウェブサーバーにアクセスすることができます。CGIモジュールなどをロードすることもできるので、Termux上にWordPress環境を構築することも可能です。



他にもhtopをインストールして稼働状況を確認したり……



nanoエディタでコードを書いたりすることも可能。



「ESC」や「CTRL」キーはキーボード上部に表示されており、PCのキーボードと同じように操作することができます。例えばnanoエディタでファイルを保存する場合は「CTRL」をタップした後「o」キーをタップします。



その後Enterキーをタップすれば保存完了。



Clangコンパイラを利用することもできるので、コードをコンパイルして実行することも可能です。



また、TermuxはX11をインストールすることもできるので、外部からVNCなどを経由してGUIを利用することまでできてしまいます。外部からGUIを利用するには以下のコマンドで必要なパッケージをインストールしておきます。

pkg install x11-repo tigervnc pypanel xorg-xsetroot xorg-xclock


パッケージをインストールできたら「vncserver」コマンドを実行し、VNCサーバーのパスワードなどをセットアップします。



セットアップが完了したら、VNCサーバーが自動で起動しますが、この時点ではX11に対応したアプリケーションをGUIに表示することはできません。



X11アプリケーションを表示するため、VNCの設定ファイルを編集します。

nano ~/.vnc/xstartup


今回はxclockを表示したいので、設定ファイルを以下のように編集。



「kill」コマンドなどで既に起動しているVNCサーバーのプロセスを終了して、再びVNCサーバーを起動。今回は起動時に「-geometry」オプションで解像度を指定し、「-depth」オプションで画面のビットカラー数を指定しています。



あとはAndroidで利用できるVNCクライアントからTermux上のVNCサーバーに接続すればOK。今回はVNCクライアントとしてVNC Viewerをインストールしました。



VNC Viewerを起動後「+」ボタンをタップ。



接続先のIPアドレスに「127.0.0.1:5901」を指定し、識別しやすい接続名を入力して「CREATE」をタップします。



VNCサーバーに設定したパスワードを入力して「CONTINUE」へと進みます。



Termux上のVNCサーバーに接続し、xclockを表示することができました。



なお、TermuxはオープンソースのAndroidアプリケーションを配布する「F-Droid」でも公開されており、F-Droidの方がGoogle Play Storeよりもアプリの更新が先行しています。

Termux | F-Droid - Free and Open Source Android App Repository

https://f-droid.org/packages/com.termux/