開発のネタ探し中
スマホアプリ開発はAppleやGoogleというプラットフォーマーが開発者とユーザーの間に割り込んでくるため嫌気が差してきたので、次は何を作ろうかと考えて他の選択肢を探している時に偶々Youtubeの動画を見かけてUbuntu Touch
を試してみました。
Ubuntu Touch
のユーザーなんてほとんどいないので何かアプリを作っても小銭稼ぎは期待できませんが、そもそも当ブログでは自分が使ってみたいものを作ってきたので問題無しです。
インストール手順
以下がUbuntu Touch
を試してみたくなった動画です。細かな注意点も解説されていて非常に助かりました。
この動画を見た直後は、いろいろと妄想が膨らんだのですが現実は厳しかったです。
必要なもの
Google Pixel 3a XL
Amazonの「整備済み品」を18,980円でわざわざ購入しました。- UBPortsのインストーラーが使える状態の工場出荷イメージファイル
こちらからイメージファイル(bonito-pq3b.190801.002-factory-61a2836d.zip
)をダウンロード adb
,fastboot
コマンドsudo apt install android-tools-adb sudo apt install fastboot
Pixel 3a XL
用のUBPortsインストーラー
こちらからubports-installer_0.10.0_linux_amd64.deb
をダウンロード
動画内容と違うところ
- 上の動画ではGoogleのサイトから
フラッシュ
のリンクを踏んで直接インストールしてますが、自分はリンク
からダウンロードしたzipファイルを解凍して、スマホのブートローダを起動してからスクリプトを実行しました。Googleのサイトに何時までイメージファイルが存在するか分からないのでダウンロードしておいたほうがいいと思います。adb reboot bootloader ./flash-all.sh
- 上の動画ではUBPortsインストーラーをdebパッケージからインストールしていますが、自分のUbuntu24.04環境ではインストール出来なかったのでsnapからインストールしました。
sudo snap install ubports-installer
- 上の動画では出てきませんが、
adb
コマンドでPixelと接続する際にPixel側で[設定]->[システム]->[開発者向けオプション]->[デフォルトのUSB設定]で[充電]ではなく[ファイル転送]を選択しておく必要がありました。
これをしないとPC側からadb devices
で接続の確認をした際にadb: failed to check server version: protocol fault (couldn't read status): Connection reset by peer
というエラーになります。現在使っているスマホ(Xperia 10 Ⅲ
)で試してみたら[ファイル転送]になっていなくても接続できたので古いスマホ(Pixel3a)固有の問題かもしれません。adb
コマンド使うのも久しぶりだったので、自分が忘れているだけで昔は全部そうだったような気もします。
Waydroidはまだまだ
Linux上でandroidアプリを動かすためのWaydroid
、上の動画でも言ってますがandroidアプリを使うぐらいならandroidスマホを使うのが良さそうです。自分はスマホの決済機能もあまり使わないしandroidアプリが無くても生活に必要な多くのことはPCで可能なので、androidスマホが無くてもそこそこ生活していけると思っていますが、どうしてもandroidアプリが必要だという時にはWaydroid
で「ほとんどのアプリは動く」ぐらいの安心感が欲しいですね。
Libertineも怪しい
Ubuntu Touch
上でUbuntuのデスクトップアプリを動かす機能ですが、こちらも少し使っただけですが怪しい動きでした。スマホの画面だと狭いからデスクトップアプリが使えないという話ではなく、うまくインストール出来ないものが多かったです。ネットを検索していると「UbuntuのソフトをUbuntu Touchで使いたい」という問いに対して、「ルート(/)以下のディレクトリを書き込み可能にすれば(sudo mount -o remount,rw /
)可能ですよ」と言う回答をよく見かけましたが、Libertine
はそういう危険な操作(sudo mount -o remount,rw /
)をしなくていい仕組みの筈です。でもインストール直後にLibertine
を起動してコンテナを作ってデスクトップアプリをインストールすると、うまく行ったり行かなかったりでした。
Ubuntu TouchのOpen Store
からUT Tweak
というアプリをインストールして、Make image writable
の機能を使えばLibertine
のコンテナ作成に関しては失敗しなかったので元々そうやって使うべきものなのかもしれません。
Ubuntu Touch
をリブートするまで書き込み可にするというオプションが用意してあります([Read-Write]Temporary(until reboot)
をタップ)。apt
コマンドでいろいろなパッケージをインストールする際に、これをOnにしておけば警告が出なくなったりしますが、Ubuntuのデスクトップアプリを何でもインストール出来るわけでは無いようです。
ssh
を有効にする機能もこのアプリに用意してあるので、まず最初に入れるべきアプリかも。
日本語が入力出来ない
モバイルPCとして使えなくても、せめてこのブログの記事を書くことぐらいは出来ないかなぁなんて思っているのですが、今動かしているUbuntu Touch OTA 5
は日本語入力に対応していません。日本語関係のパッケージを入れてみたりしましたが自分の力では出来そうになかったです。
ssh
で接続してapt
コマンドで言語関連のpackageをインストールしてみました。IBus Preferences
、Mozc
、Fcitx
の日本語入力関連のアイコンが並んでいて一見使えそうですが、インストール時にエラーが発生していて使えません。Ubuntu Touch
自体は何度でもインストールし直せる状態なのでシステムが壊れてもいいからと、sudo mount -o remount,rw /
した後にいろいろやってUbuntu Touch OTA6
にバージョンアップしても違いはなかったです。
アプリ開発は情報が少ない
Open Store
に用意されているアプリはWebベースのアプリが多いみたいで、ネイティブなものはQt
を使うようですが情報が少ないので大変そうです。自分が何か開発するとしたらWebベースのものになると思いますが、日本語の情報はほとんど無さそうです。
試しにQt Creatorを使ってサンプルをコンパイルしてみましたが、Ubuntu上では動くもののUbuntu Touch上では動きませんでした。こっち方面に進むのは茨の道になりそうです。
それでも期待したい
動作するスマホの機種が限定されるというのは辛いし今使っているスマホ(Xperia 10 Ⅲ
)の代替にはなりませんが、今のスマホを買い換える時までに何か変化があって欲しいな(他人任せ)と思ってます。今でも海外ならUbuntu Touch
が動作するハイスペックなスマホは売られてますが、日本だと技適を通過しないことにはマズそう(通話自体は可能?)なので、ここが一番のネックな気がしますね。
応援のつもりでUBPorts
に寄付しようかとやってみたら、なんと日本からの寄付は受け付けていないようでPayPal
から送金できませんでした。日本人は相手にされていないみたいで何か悲しいです。