企業案件などで手元に Android タブレットがたまったので、これを使って何か面白いことできないかな?と思案しておりました。

そこでいちばんに思い立ったのが Linux を使ってみるということ。

PC-FREEDOM は Linux のお陰で成り立っておりますので、なにかにつけて Linux を引っ張り出してこないと気が済みません。

といいますか、Android も Linux だよ!というご指摘もあろうことかと存じますが、そこらへんは聞こえなかったことにいたします。

んで、今回やってみるのは Android 端末で Ubuntu を使ってみようというお話です。

と言っても、以前に紹介した Ubuntu Touch ではございません。

どういったものか、ぜひぜひ最後までお付き合いいただければと存じます。

どうやって Android で Linux を使う?

まず、Android 端末で Linux を使ってみようと思った時に、大きく分けて3つの方法がありました。

  1. カスタム ROM を使う。
  2. リモートで使う。
  3. アプリを使う。

以上の3つでございます。

①カスタムROMを使う。

いちばん最初に思いついたのが「カスタム ROM」を使う方法です。

Andorid 端末向けの Linux (Android じゃない OS のやつ)がいくつかあるのですが、基本はスマートフォン向けで、タブレット向けはいいところ Nexus7 とかです。

ほぼスマートフォン向けで、しかもメジャーなやつです。

マイナーな機種やタブレットとなると、ソースコードを手に入れて、自力でビルドしなければいけません。

これってなかなかハードルが高いので、もうちょっと簡単にできる方法はないものか検討してみました。

②リモートで使う。

そこで思いついたのがリモートデスクトップ。

家の Linux マシンにリモートでアクセスする他、クラウドサービスを利用するなどがあります。

いちばん実用的な方法ではございますが、タブレット単体で完結する話でもなく、しかもクラウドサービスを使うとなると有料です。

なんかちょっと違う気がして他の方法を探してみました。

③アプリを使う。

そこで行き着いたのがアプリを使う方法です。

実は Andorid で Linux を実行することができるアプリがいくつかあったのです。

インターネットで調べてみると、まず最初に UserLAnd というアプリの情報にたどり着きました。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

Android デバイスで Linux ディストリビューションまたはアプリケーションを実行する最も簡単な方法。
UserLAnd を使用すると、やりたいことを実行または作成する力が手に届かないことはありません。

https://userland.tech/

というアプリらしいです。

このアプリの情報はけっこう揃っていましたが、この UserLAnd は基本操作がターミナルで、初期状態では GUI 環境がありませんでした。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

自力でインストールすれば使えるのかもしれませんが、それもまたちょっとハードルが高そうだったので、他のアプリがないか探してみました。

で、次に見つけたのが Termux です。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

Termux は、 Android ターミナルエミュレーターおよび Linux 環境アプリ です。
ルート化やセットアップを必要とせずに直接動作します。

https://termux.com/

というアプリらしいです。

ただし、Google Play での更新が、技術的な理由により現在停止されているとのこと。

おそらく大人の事情とやらでしょう…。

代替のインストールについては GitHub または F-Droid からのインストールになります。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

GitHub は、世界中の人々がプログラムコードやデザインデータを保存・公開できるソースコード管理サービスのことで、F-Droid は、Android 向けの FOSS(フリーオープンソースソフトウェア)をインストールできるカタログです。

F-Droid については、カスタム ROM などの知識が豊富な方には、耳馴染みのある名前かと存じます。

とは言え、この Termux も基本操作がコマンドでございます。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

実は後で必要になるのですが、今の段階ですと、ちょっと面倒くさそうなので一旦スルーします。

参考: root化せず気軽にAndroidスマホでLinux「Termux」!PHP+Apache+MariaDBを入れてWordpressを動かしてみる

https://pc.watch.impress.co.jp/docs/column/nishikawa/1409411.html

もうちょっと楽なものは無いかと探して、見つけたのが AndroNix というアプリでございます。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

このアプリを使うと手軽に Linux を GUI 環境で使えるようになるらしいです。

ということで、前置きが長くなりましたが、今回はこの AndroNix を Android タブレットにインストールして Ubuntu を動かしてみようと思います。

AndroNix.app

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

では早速 AndroNix をインストールしてみましょう。

Google Play ストアで検索するとすぐに見つけられます。

AndroNix を使う場合に、後ほど必要になる VNC Viewer というアプリもあるので、こちらも一緒にインストールしておきましょう。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

VNC Viewer についてざっくり説明しておくと、Virtual Network Computing(ヴァーチャル・ネットワーク・コンピューティング、略称VNC)の略で、ネットワーク上のコンピュータを遠隔操作するためのリモートデスクトップソフトです。

ってことは、おそらくですがこの AndroNix は、Android 端末上に VNC サーバーを構築して、そこに各種 Linux ディストリビューションをインストールするという仕組みのようですね。

なので VNC Viewer が必要になるということなのでしょう。

UserLAnd もそれっぽいです。

いずれにしろ AndroNix を使ってみましょう。

AndroNix のセットアップ。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

では AndroNix のセットアップを始めましょう。

Linux のインストールには少し時間がかかります。

途中でスリープしてしまうと、正しくインストール出来ないことがあるようなので、予め画面消灯の設定を変更しておきましょう。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

①.ディストリビューションを選択。(今回は Ubuntu を選びました)

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

②.「Proceed」をクリックする。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

③.希望するディストロのバージョンを選択。

※このオプションは特定のディストリビューションに限定されます。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

④.「Install」をタップ。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

⑤.デスクトップ環境、ウィンドウマネージャ、またはCLIを選択します。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

選べる GUI 環境は以下のとおりです。

  • デスクトップ環境: Xfce, LXQt, LXDE
  • ウィンドウマネージャ: Awsome, Openbox, i3

今回はこの中から「Xfce」を選択しました。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

以下の画像の丈夫にある「Command Copied!」の文字からもわかるように、ココから Termux での操作が必要になります。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

インストールされている場合は⑥スキップして頂いて構いません。

「Termux」をセットアップする。

アプリ経由で F-Droid から Termux をインストールします。

※Google Play ストアのものだとエラーになって使えません。

1.ホーム画面左上からサイドナビゲーションドロワーを開く。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

2.「Settings」をタップ。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

3.一番下までスクロールして「Run Termux Setup」をタップ。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

4.「Download」をタップ。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

5.「Allow Installation」をタップ。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

6.Andronixからのインストールを許可するスイッチをタップ。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

7.「Install」ボタンが表示されているはずです。

「Install」をクリックし、ポップアップでインストールを選択します。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

Termux のインストール後「F-Droid Installation」として、Termux をどの経路でインストールしたかの確認が求められます。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

今回の手順であれば「Yes」で問題ありませんが、よくわからない場合には「NOT SURE」でも大丈夫です。

Google Play ストアからインストールしていた場合。

予め Termux をインストールしていた場合や、この後行う Termux での手順で、エラーが出て進めない場合には、コチラの画面からインストールされている Termux をアンインストールすることができます。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

もちろんアプリの管理でアンインストールすることもできます。

何れにせよ、この後の手順がうまくいかなかった場合には、今回紹介した手順をもとに Termux をインストールし直してみてください。

改めて AndroNix のセットアップ。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

⑤からの続きを行いましょう。

⑥.「Open Termux」ボタンをタップ。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

Termux が起動するはずです。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!
画面丈夫に[1]と表示されているのは、この後の手順で使う localhost の番号だと思われます。

スクリーンキーボードを表示させるには、画面のどこかをタップすると表示されるはずです。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

⑦.画面上で長押しし、「Paste」をタップ。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

コピーされているコマンドが表示されたら、Enterキーを押します。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

※設定ファイルに関する警告が何度か表示されますが、そのままEnterキーを押してください。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

※さらに「デバイス内の写真~」の許可が求められるので、コレも「許可」して進めましょう。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

⑧.地域 (Geographic area) とタイムゾーン (timezone) を選択する。

今回は Geograhic area で「6.Asia」を選択。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

Time Zone では「79.Tokyo」を選択しました。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

⑨.キーボード配列 (keyboard layout) を選択する。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

画面をよく見ると [More] と表示されています。

どうやら続きがあるようで、ココで番号を入力しても反映されません。

[Enter] を押して進めた後に、希望するキーボード配列の番号を入力してください。

今回は「55.Japanese」を選択しました。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

キーボード配列の設定の場合、他の OS と同様に、言語を選択した後に詳細なレイアウトを選ばなければいけません。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

特にこだわりが無ければ「1.Japanese」で問題ないと思われます。

⑩.VNC Viewer インスタンスにアクセスするためのパスワードを決めましょう。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

6桁以上のパスワードを入力し、Enterキーを押します。

⑪.解像度については、最初のオプションを選択します。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

⑫.すべて完了しました。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

「root@localhost:~#」が表示されたら、Linux のインストール完了です。

RealVNCなどのVNC Viewerアプリを開いてください。

VNC Viwer のセットアップ。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

今回は「VNC Viewer – Remort Desktop」を使用します。

①.画面右下にある「+」ボタンをタップ。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

②.「Address」の欄に「localhost:1」と入力します。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

③.「Name」の欄には好きな名前をつけてください。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

今回は ubuntu xfce としました。

④.「CREATE」をタップ。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

⑤.お好みで解像度の設定をしておきましょう。

調整する場合は「画質 (Picture Quality)」をタップし、任意の解像度を選択します。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

デフォルトでは「Automatic」が設定されていますが、表示が荒くなることが多いので「High」がおすすめです。

ということで、今回は「High」を選択しました。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

⑥.「CONNECT」をタップ。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

VNC サーバーへの接続が始まります。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

⑦.「OK」をタップ。

画面が切り替わり「Unencrypted connection(非暗号化接続)」のポップアップが表示されます。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

⑧.VNCアクセス用に設定したパスワードを入力し「Enter」を押します。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

ちなみに「Remember password」のボタンをチェックすると、入力したパスワードを保存することができます。

⑨.問題が無ければ Linux が起動するはずです。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

終了のしかた。

使用後の終了方法も覚えましょう。

1.Termuxで「$ vncserver-stop」を実行する。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

2.停止するホストの番号(今回は「1」)を入力。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

3.VNC Viewer へのアクセスが終了しているはずです。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

再度 Linux を使うには…

もう一度 VNC Viewer とアクセスするには以下の手順を行います。

1.Termux で「# vncserver-start」を実行する。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

ホストが1つしか存在しない場合は、そのまま起動するようですが、ホストが複数存在する場合には、任意のホスト番号(今回の場合は「1」)を選択します。

今回のような使い方の場合、おそらくですが同じ端末内で動作させたためローカルホストが [1] に固定されていたものと思われます。

2.改めて解像度の設定が求められます。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

解像度については、最初のオプションを選択します。

3.VNC サーバーを起動させた後、VNC Viewer で接続します。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

登録されているディストリビューションをタップすると画面が切り替わります。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

4.「OK」をタップ。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

5.設定した VNC アクセス用のパスワードを再入力してください。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

6.これで再接続ができているはずです。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

ちなみに、この接続での画質は「Automatic」を選択しています。

ご覧の通り荒いです。

すべて終了する場合。

先程紹介した手順は、あくまでも VNC サーバーとビューワーの接続を切断するだけのものでした。

今度は、すべての利用を終了する方法を紹介します。

基本的な手順としては VNC サーバーを終了してから、Termux を終了させます。

順番が前後すると面倒くさいことになりますので注意しましょう!

1.Termux で「# vncserver-stop」を実行する。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

2.終了させるホスト番号(今回は「1」)を入力。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

3.「# exit」を実行するとディストリビューションが終了します。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

ローカルホストからログアウトが完了すると、コマンドプロンプトが「root@localhost:~#」から「~$」に変わります。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

Termux 自体を終了される場合には、この状態から「$ exit」を実行すると、Termux が終了します。

いちから起動し直す。

今度は、全て終了している状態から再びディストリビューションを起動させる手順を紹介します。

終了させたときの手順とは真逆で Termux 上でディストリビューションを起動させてから、VNC サーバーを起動させます。

1.インストールしてあるディストリビューションのシェルスクリプトを実行する。

インストールしてあるディストリビューションのシェルスクリプトを実行させると、再び使用することができます。

今回の場合は「$ ./start-ubuntu20.sh」となります。

が、インストールしてあるディストリビューションのシェルスクリプトがわからない場合、「$ ls」を実行するとインストールしてあるシェルスクリプトを確認できます。

「start」から始まる「.sh」ファイルがそれです。

ということで、今回の場合は「$ ./start-ubuntu20.sh」となります。

ちなみに、他のディストリビューションの場合には AndroNix のドキュメントページにも記載があります。

2.あとの手順は同じです。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

あとの手順は VNC Viewer でアクセスする手順と同じです。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

今回のまとめ。

Android で Linux を使う!root 化なしで Android 端末に Ubuntu をインストールしてみた!

ということで、今回は AndroNix というアプリを使って Android タブレットで Ubuntu を動かしてみました。

イメージとしては、アプリを使って Android 上に仮想サーバーを構築し、そこにビューワでアクセスするという感じでしょうか?

今回は日本語化とかはしてませんが、機会があればやってみたいと思います。

AndroNix.app