以前、Andoroid
でNode-RED
を導入するにあたってTermux
を使用してLinuxエミュレーション
を行っていました。
Termux
は、Android
の環境内にLinux
的な実行環境を提供する端末エミュレーターアプリとなります。特に端末のRoot化などを行うことをせずそのまま使えるのが利点です。
ただ、このTermux
はGoogle Playストア
に置いてあるバージョンが古いのがたまに瑕でした。(Linux
環境は導入はできるのですがインストール後のaptコマンド
に失敗します)
これを回避するには、F-Droid
という公式ではないアプリストアサービスに接続し、そこからインストールするかapkファイル
を使ってインストールすることになります。ちょっと面倒ですよね。
そんな中以下のような記事を見つけました。
こちらの記事では、Playストア
からダウンロードできるUserLAnd
を使用してLinux環境を構築するというものでした。こちらはPlayストア
から環境できる分、先程のTermux
に比べて敷居が低いように思います。こちらもRoot化は不要です。
では、今回もNexus7(2013)
をAndroid11化
(厳密にいうならばLineage OS 18.1
)したAndroid
タブレットに導入して、どの程度動くのかを確認してみようと思います。
導入に先立って
導入に先立ってVNC Viewer
をインストールしておきます。というのもUserLAnd
ではX環境を作成して、立ち上げることもできるためです。接続もSSH接続
かVNC接続
かを選択できるようになっています。VNC接続
を選択すると自動的にVNC Viewer
が起動します。
今回、私はVNC Viewer
を使用していますが、その他のVNCアプリを使用しても良いようです。
UserLAndの導入
UserLAnd
はPlayストア
にあるので検索してインストールしていきます。
インストール後にUserLAnd
を起動すると使用可能な環境(Alpine
、Arch
、Debian
、Kali
、Ubuntu
)が選択できるようになっています。OSタイプ以外でもX環境のデスクトップ(Lxde
、Xfce
)やアプリ(Firefox
、Gimp
、LibreOffice
など)で環境構築して使用することもできます。
今回はUbuntu
を選択して設定します。メニューから選択すると初期のユーザーネーム
、初期パスワード
、VNC接続用のパスワード
の生成をするダイアログが表示されます。
VNCのパスワードは桁数が少ないのでご注意ください。設定後はダイアログの下にある【CONTINUE】を選択します。
続いて接続方法をえらびますが、導入時はX環境がないのでSSH
を選択しておきます。選択後は【CONTINUE】を選択します。その後、環境構築処理が起動しますので、しばし待ちます。
環境が構築されるとコンソールが開きます。ログインパスワードを求められるので、入力を行いましょう。
ログインすると以下のような表示が行われます。もうこれでLinux
の動作環境が手に入りました。
あとは、aptコマンド
で必要なパッケージをインストールしていけば大丈夫です。
apt upgrade
も問題なくできました。
外部からのネットワークアクセスに関してはAndroid
側のアプリということもあり、Android
のIPアドレスを使用できるようになっています。ですが、ウェルノウンポート
に関しては制限があるので、サーバープロセスを動作させる場合にはポート番号を変更する必要はあるようです。
また、先程の初期メニューからXfce
を選択すれば、X環境をそのまま整えて、接続もできるようになっています。以下は起動後にAndoroid
上のVNC Viewer
から接続した様子となります。
また、PCからもVNC接続して使用する事もできました。Chrome拡張から接続もできています。
おわりに
かなりお手軽にLinux
のCLI環境
とX環境
を整える事ができました。サーバープロセスのポート番号には制限はありますが、Root化なども必要なくしようできるというのは非常に便利ですね。動作に関してはインストール時には時間はかかりますが、起動後はそこまでの動作のもたつきは感じられないので、悪くない選択肢なのかもしれません。
なお、これらの動作に当たってはさすがにオンスクリーンキーボード
での操作は現実的ではないと思うので物理キーボード
を使用するとともに、日本語/英数
の入力切り替えの設定もしておかないと、ユーザー名やパスワードの入力が面倒になります。
先日のエントリをご参考にして設定変更をおすすめします。