AndroidでLinuxを動作させてみる(UserLAnd編)

以前、AndoroidNode-REDを導入するにあたってTermuxを使用してLinuxエミュレーションを行っていました。

uepon.hatenadiary.com

Termuxは、Androidの環境内にLinux的な実行環境を提供する端末エミュレーターアプリとなります。特に端末のRoot化などを行うことをせずそのまま使えるのが利点です。

ただ、このTermuxGoogle Playストアに置いてあるバージョンが古いのがたまに瑕でした。(Linux環境は導入はできるのですがインストール後のaptコマンドに失敗します)

これを回避するには、F-Droidという公式ではないアプリストアサービスに接続し、そこからインストールするかapkファイルを使ってインストールすることになります。ちょっと面倒ですよね。

https://f-droid.org/ja/

そんな中以下のような記事を見つけました。

pc.watch.impress.co.jp

こちらの記事では、PlayストアからダウンロードできるUserLAndを使用してLinux環境を構築するというものでした。こちらはPlayストアから環境できる分、先程のTermuxに比べて敷居が低いように思います。こちらもRoot化は不要です。

では、今回もNexus7(2013)Android11化(厳密にいうならばLineage OS 18.1)したAndroidタブレットに導入して、どの程度動くのかを確認してみようと思います。

uepon.hatenadiary.com

導入に先立って

導入に先立ってVNC Viewerをインストールしておきます。というのもUserLAndではX環境を作成して、立ち上げることもできるためです。接続もSSH接続VNC接続かを選択できるようになっています。VNC接続を選択すると自動的にVNC Viewerが起動します。

今回、私はVNC Viewerを使用していますが、その他のVNCアプリを使用しても良いようです。

UserLAndの導入

UserLAndPlayストアにあるので検索してインストールしていきます。

インストール後にUserLAndを起動すると使用可能な環境(AlpineArchDebianKaliUbuntu)が選択できるようになっています。OSタイプ以外でもX環境のデスクトップ(LxdeXfce)やアプリ(FirefoxGimpLibreOfficeなど)で環境構築して使用することもできます。

今回はUbuntuを選択して設定します。メニューから選択すると初期のユーザーネーム初期パスワードVNC接続用のパスワードの生成をするダイアログが表示されます。

VNCのパスワードは桁数が少ないのでご注意ください。設定後はダイアログの下にある【CONTINUE】を選択します。

続いて接続方法をえらびますが、導入時はX環境がないのでSSHを選択しておきます。選択後は【CONTINUE】を選択します。その後、環境構築処理が起動しますので、しばし待ちます。

環境が構築されるとコンソールが開きます。ログインパスワードを求められるので、入力を行いましょう。

ログインすると以下のような表示が行われます。もうこれでLinuxの動作環境が手に入りました。

あとは、aptコマンドで必要なパッケージをインストールしていけば大丈夫です。

apt upgradeも問題なくできました。

外部からのネットワークアクセスに関してはAndroid側のアプリということもあり、AndroidIPアドレスを使用できるようになっています。ですが、ウェルノウンポートに関しては制限があるので、サーバープロセスを動作させる場合にはポート番号を変更する必要はあるようです。

また、先程の初期メニューからXfceを選択すれば、X環境をそのまま整えて、接続もできるようになっています。以下は起動後にAndoroid上のVNC Viewerから接続した様子となります。

また、PCからもVNC接続して使用する事もできました。Chrome拡張から接続もできています。

おわりに

かなりお手軽にLinuxCLI環境X環境を整える事ができました。サーバープロセスのポート番号には制限はありますが、Root化なども必要なくしようできるというのは非常に便利ですね。動作に関してはインストール時には時間はかかりますが、起動後はそこまでの動作のもたつきは感じられないので、悪くない選択肢なのかもしれません。

なお、これらの動作に当たってはさすがにオンスクリーンキーボードでの操作は現実的ではないと思うので物理キーボードを使用するとともに、日本語/英数の入力切り替えの設定もしておかないと、ユーザー名やパスワードの入力が面倒になります。 先日のエントリをご参考にして設定変更をおすすめします。

uepon.hatenadiary.com

/* -----codeの行番号----- */