サイトアイコン PC-FREEDOM

【第3のモバイルOS】Ubuntu Touch が Google Pixel 3a/3a XL に完全対応したらしいのでインストールしてみたよ。

【第3のモバイルOS】Ubuntu Touch が Google Pixel 3a/3a XL に完全対応したらしいのでインストールしてみたよ。

【第3のモバイルOS】Ubuntu Touch が Google Pixel 3a/3a XL に完全対応したらしいのでインストールしてみたよ。

モバイルデバイスの OS といえば iOS (または iPad OS) と Android ですよね。

特に Android については、ご存じの方もおられるかと存じますが、オープンソースなので「カスタム ROM 」と呼ばれる、さまざまな派生も存在しています。

そして、実はあまり知られていませんが、これら以外にもモバイル OS が存在します。

今回はその代表格「Ubuntu Touch」を紹介します。

※注意

もしも、この記事を参考にして作業した結果、スマートフォンが使用不可になったり、その他なにかしらの不利益があなたに生じたとしても責任は負えませんので、もし参考にする場合は自己責任でお願いします。

もちろん、メーカー補償は一切ありません。

カスタム ROM とは?

https://source.android.com/?hl=ja

Ubuntu Touch を紹介する前に、カスタムROMについて少し話しておきたいと思います。

Android は、AOSP (Android Open Source Project) というプロジェクトで開発が行われている、その名前の通りオープンソースの OS です。

オープンソースなので、もちろんソースコードは誰でも手に入れることができます。

スマートフォンやタブレットなどの各メーカーは、このソースコードに各端末で動作するよう手を加えインストールして販売しています。

そして同時に、そのソースコードを利用して世界中の有志が開発した OS が「カスタム ROM」と呼ばれます。

カスタム ROM のメリットとデメリットについては他の記事でも紹介しているので、興味のある方はそちらもご覧いただければと存じます。

んで、このカスタム ROM の場合、インストールする手順はパソコンの OS とはずいぶん違ったものになります。

パソコンの場合は、BIOS とかで USB メモリとかインストールメディアから起動できるようにして、インストーラーを起動させてインストールする、くらいの手順です。

ところが、スマホなどにカスタム ROM を導入する場合には、

しかも、この中には Google 純正アプリはインストールされないため、Google サービスを利用したい場合には Google 純正アプリをインストールする手順も含まれます。

という具合に、いくつもの手順が必要になります。

しかも、そのスマホに対応したカスタム ROM でなければいけません。

パソコンに Linux をインストールするときとは、結構違いますね。

なかなかハードルが高い感じがします。

コダシマがカスタム ROM に興味を持った時も、スマホが使えなくなってしまういわゆる「文鎮化」が怖くてしばらく躊躇していましたが、そんな時に知ったのが Ubuntu Touch でした。

Ubuntu Touch とは?

https://ubports.com/

Ubuntu Touch は UBports Community によって開発・保守されているモバイルバージョンの Ubuntu です。

タッチスクリーン環境で使うことを前提に設計されていますが、機種は限られるものの「デスクトップモード」でデスクトップコンピュータとしても機能させることができます。

対応するデバイスは制限がありますが、この度 Google Pixel 3a/3a XL が完全対応したとのプレスがあったので、Pixel 3a XL を手に入れて試してみることにしました。(おっきい方がいいよね)

以前、Nexus5 にインストールしてみましたが、Nexus5 に比べると Pixel 3a はだいぶスペックが高くなったので、きっと快適に使えることでしょう。

期待大です!

ちなみに、以前は Android ベースの Ubuntu も開発されていたようですが、現在モバイル端末で使える Ubuntu は Ubuntu Touch のみとなってます。

また、先程も触れたとおり多くのカスタム ROM は Android をベースとしていますが、Ubuntu Touch は数少ないそれ以外の OS です。

さらに、通常のカスタム ROM の場合、パソコンに繋いでワチャワチャとあれこれやらなければいけません。

ですが Ubuntu Touch の場合、もちろんパソコンにはつなぎますが、一般的なカスタム ROM よりも手順がだいぶ少ないです。

というのも、Ubuntu Touch には専用のインストーラーがあり、他のカスタム ROM と比べると、作業手順はかなり軽減されています。

Ubuntu 系のディストリビューションを使っていれば、その環境の構築も簡単です。

今回も簡単なのがいいので Ubuntu 搭載機に Ubuntu Touch のインストーラーをダウンロードしてインストールします。

Windows 環境でもこのインストーラーを使うことができますが、コダシマ的には、あえて Windows 環境を構築する理由も無かったので、Ubuntu 環境でやっていきます。

Windows でやろうと思う方は、自力でがんばってください。

ADB 環境の構築。

https://developer.android.com/studio/command-line/adb?hl=ja

Android 端末をいじるには ADB 環境が必要になります。

Ubuntu Touch をインストールする前にも、この ADB 環境を構築する必要があります。

ADB 環境とは Android Debug Bridge の略で、パソコンとデバイスの間で通信してアレコレ操作するコマンドラインツールです。

Linux や macOS の場合、簡単に構築できます。

Android も Linux の仲間ですからねー。POSIX との相性は抜群です。

Ubuntu 系や Debian 系の場合、Synaptic パッケージインストーラーで adb を検索してインストールするか、コマンドでインストールします。

コマンドで操作する場合には

$ sudo apt install adb

でインストールできます。

あと、デバイスにパッケージを書き込むためのツール Fastboot もインストールしておきます。

こちらも Synaptic パッケージインストーラーで fastboot を検索してインストールするか、コマンドでインストールできます。

$ sudo apt install fastboot

これで必要な環境は整いました。 

UBports Installer

https://devices.ubuntu-touch.io/

UBports のサイトからダウンロードしてインストールするのが一般的ですが、Ubuntu 系の場合はアプリストアからインストールすることもできます。

お好きな方で、インストールしましょう。

これでパソコン側の準備は整いました。

バックアップについて。

で、今回使う Pixel 3a XL は、Ubuntu Touch を試すだけに手に入れたものなので、必要なデータとかないためそのままインストールしてしまいますが、残しておきたいデータなどがある場合には、Google ドライブにバックアップしたりしておくことをオススメします。

Ubuntu Touch の場合にはあまり関係ないですが、Android 系のカスタム ROM を使う場合や、もとの状態にリカバリーする場合には、Google アカウントで Google ドライブにバックアップしておくと、インストール済みのアプリ情報やアカウント情報などの状態を復元する際に簡単に出来るようになります。

注意!

ただしアプリ内の設定は消えてしまうので注意してください。
例えば LINE のトーク履歴などは消えてしまいます。
また、アプリによっては、アプリ内で別途バックアップが必要な場合もあります。

バックアップについては Android のバージョンにより異なりますが、概ね「設定」>「Google アカウント」>「バックアップ」>「今すぐバックアップ」で行なえます。

カスタム ROM を導入する際に Bootloader をアンロックするのですが、Bootloader をアンロックするとデータはすべて初期化されてしまいます。

バックアップはその前にとっておきましょう。

Bootloader のロック解除。

Android デバイスをいじくるには、まず Bootloader のロックを解除しなければいけません。

Bootloader は、Android の起動時に ROM を読み込んで起動させるプログラムです。

通常はアレコレいじられないようにメーカーでは Bootloader にロックをかけています。

カスタム ROM を導入するには、この Bootloader の書き換えを行う必要があります。

デバイスロックの解除方法は機種によって違うため、事前に確認しておきましょう。

専用のアプリを使ったりする方法や PC に接続してツールを使う方法など色々あります。

今回の Pixel 3a は次の方法でアンロックできます。

開発者オプション。

OEM ロックを解除するためには、まず「開発者向けオプション」の設定を変更しなければいけません。

ですが、初期設定では表示されていません。

コレを表示するには「デバイス情報」>「ビルド番号」を7回タップすると表示されます。※メーカーによって異なります。

開発者向けオプションは「設定」>「システム情報」の中に表示されています。

OEM ロック解除。

次に「開発者向けオプション」>「OEM ロック解除」と、デバイスをいじるのに必要な「 USB デバッグ」にチェックを入れておきます。

デバイスのロック解除。

次に Bootloader を起動させデバイスをアンロックします。

コマンドを実行するか、電源ボタンと音量(-)を同時に長押しすると、Bootloader が起動します。

$ adb reboot bootloader

この状態で、ロックを解除するコマンドを入力します。

$ fastboot flashing unlock

これでいじくり回す準備が整いました。

Ubuntu Touch のインストール。

今回インストールする Ubuntu Touch をインストールするためのソフトウェア、UBports Installer を起動させます。

そこに Fastboot モードで起動させた Pixel 3a XL をインストーラーの起動しているパソコンに接続します。

んで、実はこのとき全く気がついていませんでしたが重大なミスを犯していました…。

詳しくは後ほど。

んで、インストーラーを起動した状態でパソコンに Pixel を接続すると、自動的でデバイスを認識してくれます。

OS の項目で何やら選択できそうな気配でしたが、実際には「 Ubuntu Touch 」しか選択することができませんので、そのままで大丈夫です。

あとは「 Install 」ボタンをクリックしてインストールを始めます。

「 Installation options 」としていろいろ表示されます。

「 Channel 」ではイロイロ選べそうですが、「Stable (安定版)」が良さそうなのでそのままにしておきます。

また予め「 Bootstrap」にチェックが入っています。

ブートストラップとは外部入力無しで実行される自己開始型のプロセスのことを呼びます。

ということで、インストーラーが勝手にやってくれるようです。

ちなみに Bootstrap って Web アプリケーションフレームワークで出てくる言葉なんですが、それとは違いますね。

特に何もデータはないのですが「 Wipe Userdata (ユーザーデータを拭き取る)」とかがあるので、チェックを入れて試してみます。

「 OK 」をクリックしてインストールを始めます。

画面が「Reboot to Bootloader」に切り替わりました。

画面の指示に従って Fastboot モードで起動させます。

デバイス側でも操作が必要なのですが、タップとかでは操作できません。

ボリュームボタンの上下で選択し、電源ボタンで決定です。

「Reboot Bootloader」に合わせて決定します。

Pixel 側で Bootloader の再起動が行われるので、起動したら「 Continue 」をクリックして進めます。

画面が「Reboot to Recovery」に切り替わりました。

今度は「Recovery Mode」に合わせて決定します。

OEM ロックを解除すると、このように毎回警告が出ます。

ちょっと面倒ですが電源ボタンを押して先に進めましょう。

しばらく待つと画面が切り替わります。

ってか、このアイコンって人気の高いカスタム ROM の LineageOS のに似てますねぇ。

とりあえずこの画面が表示されたら、パソコン側で「Continu」をクリックして進めます。

画面を眺めていると、イロイロ作業が進んでいるのがわかります。

インストールが終わると、Pixel は自動で再起動されます。

インストーラー側では「 Report your result (結果を報告する)」が表示されます。

結果に応じてクリックしてみてください。

どの OS でも同じことですが、初回起動時は時間がかかります。

ってか、ここでも LineageOS のロゴみたい。

ちょっと調査不足ですが、Halium という Android デバイスで Linux を実行するためのプロジェクトによって開発されたもののようです。

それはいいのですが、どうも様子がおかしい…。

起動に失敗するので何度かやり直してみましたが Ubuntu Touch が立ち上がりません。

そこで、もう一度サイトのドキュメントを確認したところ、Pixel 3a/3a XL に Ubuntu Touch を導入する際には、必ず工場出荷時のイメージ、ビルド番号「PQ3B.190801.002」にしておかなければいけませんでした。

失敗…。

Ubuntu Touch の導入に挑戦しようと思うのであれば、充分に注意しましょう。

ということで、何とか復旧させインストールしました。

※復旧の様子は記事の最後に!

Ubunu Touch の使い心地。

起動した Ubuntu Touch を早速いじってみました。

初期設定

日本語にも対応しています。

けっこう下にありますが、ちゃんと日本語もあります。

初期設定については特別難しいところは無いかと思います。

ちなみに、設定する項目は以下の通りです。

  1. Language
  2. Wi-Fiに接続
  3. Time Zone
  4. Personalize Your Device
  5. Lock Screen

操作感

以前に Ubuntu Touch を取り上げたときにもお伝えしましたが、操作について Android は縦、Ubuntu Touch は横という印象です。

どういうことかというと、メニューの表示やタスクの表示が Android の場合、縦方向に操作することが多いです。

それに対して Ubuntu Touch は同様の操作を横方向に行うことが多いです。

やっぱりはじめ、ちょっと違和感がありますが、片手で操作する場合には、Ubuntu Touch のほうが向いてるかも?と思うのは変わりません。

というか、画面が大きいとより感じました。

でもこれは、きっと好みが別れるかと思います。

で、さすが Pixel 3a です。

サクサクなめらかに動作してくれました。

Nexus5 で Ubuntu Touch を動作させたときとは雲泥の差です。

それがはっきりわかったのは、やっぱり動画視聴のときですね。

動画の再生についても、高画質で再生してもカクつくこともありませんでした。

アプリのインストール。

アプリの追加をしたい場合には「 OpenStore 」で行います。

Ubuntu では見慣れたアイコンですね。

カテゴリーからとかでもインストールできますが、名前がわかっていれば検索をかければ早いです。

パッケージの数はやっぱり Android には負けますが、個人的によく使う Twitter や Youtube といった大定番は用意されています。

よく見ると Web アプリとかの表記がたくさんあります。

スマホだけに限らず、Web 技術の発達により、大体のアプリは Web アプリで賄えるというのが現状です。

というか Ubuntu Touch のアプリのほとんどは Web アプリです。

まぁ、使い方は限定されるかもしれませんね。

でも、気になっていた Youtube のオリジナルアプリは、ヌルヌル動いていたのでなかなか良かったですよ!

Ubuntu Touch のまとめ。

今回は Ubuntu Touch が Pixel 3a/3a XL に完全対応したという情報を耳にしたので、試してみることにしました。

思いっきりやらかしてしまいましたが、最終的にはなんとかインストールすることができました。

ベースとなっている Ubuntu は、いまだ 16.04 LTS 。

なかなか 20.04 にアップグレードしないのですが、それだけスマホで Android 以外の OS 開発って難しいってことなのでしょう。

かなり楽しみにしているので、開発チームにはぜひとも頑張ってもらいたいです!

ってか、やっぱり Pixel は良いですね!

Nexus5 の時とだいぶ違い、なかなかヌルヌル動いてくれます。

実用性は高くなったと感じます。

今回はコダシマの時間の都合上、インストールだけになってしまい、アプリなどについてはほとんど紹介できませんでしたが、着実に増えてきているようです。

機会があれば、アプリの他にも SIM 通話とかカメラとか、そのへんも紹介できればと思っています。

Pixel 3a XL を復旧させる。

Android デバイスをリカバリーする際には、カスタムリカバリーなどを端末に書込み、それを利用してファクトリーイメージを展開するというのが一般的かと思われます。

ですが、Pixel 2 以降の Google の端末の場合、OEM ロックさえ解除されていればAndroid Flash Toolで、簡単にリカバリーできてしまいます。

Factory Image のダウンロードページで任意のデバイスのビルドを選び、「Flash」をクリックすると Android Flash Tool へ移動します。

場合によっては画面中央に「Get Start」のボタンが表示されているかと思います。

ボタンををクリックすると、デバイスに ADB キーアクセスするための許可を求めるポップアップでウィンドウが表示されます。

ADB 環境が整っていない場合には、以下のような表示になるかと思います。

ポップアップブロックがかかっている場合は、ポップアップの表示を許可して、再表示のボタンをクリックすると同じようにウィンドウが表示されます。

「Allow ADB access」をクリックして進みます。

インストール先のデバイスを選択します。

「+ Add new device」をクリックし、パソコンに接続されているスマホの中からビルドをインストールする機種を選びます。

任意の機種をクリックし「接続」ボタンをクリックすると画面が切り替わります。

「Selected device:」に表示されている任意のデバイスをクリック。

ちなみにデバイスのロックがかかったままだと、デバイスの状態が「Not enabled」となり作業を進めることが出来ません。

ロックを解除してからやり直しましょう。

「Selected build」には選択したビルドが表示されているはずです。

いろいろなオプションが用意されていますが、とりあえず今回はなんかゴチャゴチャしてしまった気がするので「Wipe Device」にチェックを入れて、インストールしてみました。

「Install build」のボタンをクリックすると確認画面が表示されます。

問題がなければ「Confilrm」をクリックしてインストールをはじめます。

ライセンスについての認証が表示されるので「I Accept」をクリックして進めます。

これで、インストールが始まります。

今回の環境では、およそ7分くらいでファクトリーイメージを書き込むことができました。

ほら、ちゃんと「PQ3B.190801.002」になってます!

従来のやり方より、ずいぶんと手軽になった感じがします。

Pixel 2 以降のデバイスを出荷状態に戻したりする機会があれば、ぜひやってみてください。

参考サイト

モバイルバージョンを終了