Ubuntu Weekly Recipe

第263回Ubuntu Touch Developer PreviewとUbuntu SDK PreviewをGalaxy Nexusで早速試してみた

Ubuntu Japanese Team代表の小林です。みなさん、こんにちは。

2月22日と23日に、オープンソースカンファレンス 2013 Tokyo/Springが開催されました。Ubuntu Japanese Teamも出展させていただき、ブースでのDVD配布やセミナーを行いました。ご来場いただいたみなさん、ありがとうございました。長南さんによるセミナーの資料は、Ubuntu Japanese Team Wikiで配布しております。後日、動画もアップロードする予定です。

この週末、主要執筆陣はオープンソースカンファレンスに参加しており忙しかったため、参加しなかった私が今回のレシピを担当することとなりました。ちょうど先週21日に「Ubuntu Touch Developer Preview(開発者向けプレビュー版⁠⁠」が公開されましたので、これを取り上げます。Galaxy Nexusにインストールし、Ubuntu PCで作成したアプリを動作させ、日本語フォントを導入するまでにやったことを紹介します。

Ubuntu Touchとは

Ubuntu Touchとは、Ubuntuのモバイル向けインタフェースの呼称です。今年1月2日に発表されたUbuntu for phones⁠、2月19日に発表されたUbuntu on tabletsのユーザーインタフェースです。

Canonical社は、モバイル端末からPC、各種サーバーからスーパーコンピューターまで、あらゆるコンピューターにプラットフォームを提供することを目標としてUbuntuの開発を主導してきました。この取り組みの中で、Ubuntu Touchはタッチパネルを搭載したモバイル端末向けのインタフェースとなるものです。これにより、スマートフォンやタブレットに最適化されたUbuntuが提供されることとなります。次の動画で、どのようなものになるかが紹介されています。

Ubuntu Touchを搭載した端末のリリースについては今年中とも来年とも言われていますが、現時点では確定的な情報はありません。少なくともソフトウェアとしては、遅くとも2014年4月にリリース予定の14.04 LTS(長期サポート版)のリリース時に、一定の完成をみたものが提供されるでしょう。

前述のとおり、Ubuntu Touchの開発者向けプレビュー版が今月21日に公開されています。あくまでもプレビュー版ですので、使える機能は限定されています。しかしながら、上の動画にあるような四辺のスワイプによる操作を試したり、無線LANを設定してWebブラウザやFacebookアプリを使うことができます。

Galaxy NexusにUbuntu Touchをインストール

本記事執筆時点で、インストールして試した方が多くいるようで、Webを検索すればインストール方法を紹介したサイトもいくつか出てきます。インストール方法はいくつかありますが、私はUbuntu Wikiに記載されている導入手順で行いました。

注意していただきたいのですが、Galaxy NexusやNexus 7および10にUbuntu Touchをインストールすると、デバイス上のデータはすべて消えてしまいます。また、手順を間違えるなどのトラブルにより、デバイスが使えなくなってしまう可能性もあります。さらに、メーカーやキャリアの保証を受けることもできなくなってしまいます。このように導入のためのリスクが高く、また実用に向かない開発者向けのプレビュー版ですので、よほど興味のある方にしか導入はおすすめできません。

もし作業される場合は、導入手順にしたがって注意深く作業してください。また、あわせてリリースノートにも目をとしておくと良いでしょう。

Ubuntu Touchを試してみた

Ubuntu Touchをインストールして起動すると、次のような画面が表示されました。⁠ロックスクリーン」ではなく「ウェルカムスクリーン」と呼ぶようです。

図1 Ubuntu Touchの「ウェルカムスクリーン」
図1 Ubuntu Touchの「ウェルカムスクリーン」

一見してどうしたら良いのか分からなかったのですが、スクリーン右端から左に向かって「スワイプ」すると、ホーム画面が現れました。

図2 Ubuntu Touchのホーム画面
図2 Ubuntu Touchのホーム画面

この画面で、スクリーンの端に指がかからないよう左右にスワイプすると、⁠Apps」「People」といった画面に切り変わります。各画面にはデモ用らしきデータが入っており、タップしても反応しないものも多くありました。

アプリケーションランチャーは、画面の左端からスワイプして引き出します。

図3 Ubuntu Touchのランチャー
図3 Ubuntu Touchのランチャー

指を離してからアイコンをタップして起動する方法と、スワイプしたまま指を離さず上下に動かして選択する方法があります。

その他、画面右上には各種インジケーターアイコンと時計が表示されており、こちらも画面端からのスワイプでアクセスします。最初、インジケーターアイコンが小さくて選びにくいと思ったのですが、スワイプしたままアイコンのすぐ下で指を止め、左右にスライドすることで選択を切り替えることができました。

次にWebブラウザを試したかったので、ここで無線LANへの接続を設定しました。

ブラウザを開いてみると、www.ubuntu.comが開きました。ここで、他のページを開いてみようとして戸惑ったのですが、アドレスバーがありません。いろいろ試してみると、画面下端からのスワイプで表示されました。

どうも、アプリケーションに関するメニューは画面下からのスワイプで表示される仕組みのようです。ここで気づいたのですが、画面下からスワイプすると中央に虫眼鏡のようなアイコンが現れます。スワイプした指をそのままアイコンまで進めて離すと、個々のアプリを操作するためのものと思われるメニューが表示されます。まだタップしても何も反応しない部分が多いですが、アプリの終了は左下の×ボタンで行うことができました。

画面上端からスワイプしてメニューを閉じ、ブラウザのアドレスバーにwww.ubuntulinux.jpと入れてみたところ、サイトが開きはしたのですが日本語が表示されません。どうも、日本語のフォントが入っていないようです。これは、Ubuntu Touchでサンプルアプリを動かしてみようとUbuntu SDK Preview導入した後で解決しました(後述⁠⁠。

Ubuntu SDK Previewを試す

Ubuntu Touch Developer Previewと同時に、Ubuntu SDK Previewもリリースされています。これを使えば、開発環境からアプリをUbuntu Touchデバイスに転送して動かすことができるようです。こちらのページに記載されている通り、次のコマンドを実行してインストールしました。

sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-proper
sudo add-apt-repository ppa:ubuntu-sdk-team/ppa && sudo apt-get update
&& sudo apt-get install ubuntu-sdk notepad-qml

ただ、私の環境では統合開発環境であるQt Creatorを起動すると、ライブラリが足りないというエラーが表示されましたので、次のコマンドを実行してパッケージを追加しました。

sudo apt-get install libbotan-1.10-0

これで、こちらのチュートリアルの通りに作業すれば、Qt CreatorでサンプルアプリCurrency Converter(通貨変換器)を作ることができました。PC上で動作を確認することができます。

図4 Ubuntu Desktop上で動くCurrency Converter
図4 Ubuntu Desktop上で動くCurrency Converter

このサンプルでは、QMLというJavascriptベースのスクリプト言語を用いてアプリを作成しています。将来的にはC++などによるアプリ作成のチュートリアルも公開されるようです。

作成したアプリをGalaxy Nexusで動かす

せっかくUbuntu Touchでも動くアプリを作った(と言ってもサンプルをコピーしただけですが)のですから、やはり実機でも動かしたいところです。リリースノートによると、どうも現時点では.desktopファイルを手動で作らないといけないようです。そこで、CurrencyConverter.qmlと同じディレクトリに次の内容でCurrencyConverter.desktopを作成しました。

[Desktop Entry]
Encoding=UTF-8
Type=Application
Terminal=false
Exec=/usr/bin/qmlscene
Name=CurrencyConverter
GenericName=CurrencyConverter
Comment=currency converterIcon=ubuntu-qmlrunner

Galaxy Nexusにアプリを転送するため、Qt Creatorのメニューから[Tools⁠⁠→⁠Ubuntu⁠⁠→⁠Device⁠⁠→⁠Enable⁠⁠→⁠Developer Connection]を選択しました。すると、Galaxy Nexus上のUbuntu Touchにopenssh-serverがインストールされました。どうやらSSH経由でプログラムを送り込み、実行するようです。

その後、左側のメニューにある「Devices」を選択し、画面右上の「Detect Devices」をクリックしてデバイスを認識させます。この画面にDeveloper Mode用のユーザー名やSSH Portなどが表示されていれば問題ないようです。

ここで、メニューの[Build⁠⁠→⁠Ubuntu⁠⁠→⁠Run in Ubuntu Device]を選択するか、Ctrl+F12を押すことで、開いているプロジェクトのプログラムがデバイス上で実行されます。ただし、私の環境では最小化された状態で実行されてしまいましたので、Ubuntu Touchのホーム画面からAppsへ行き、最小化されたCurrencyConverterをタップしてようやく表示することができました。

図5 Ubuntu Touch上で動くCurrency Converter
図5 Ubuntu Touch上で動くCurrency Converter

日本語フォントを追加する

次に、OpenSSHサーバーが動作するようになりましたので、日本語フォントをapt-get installしてみようと考えました。ちょうどDevices画面の中央に「Open ssh connection to device」というボタンがあったので押してみると、ターミナルが開きUbuntu Touch側のシェルが開きました。しかしながら、sudoを実行しようとすると「sudo: no tty present and no askpass program specified」と表示されてしまいます。そこで、ターミナルを別に立ち上げ、以下のように「-t」オプションを追加して接続してみました。

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p
2222 -t phablet@127.0.0.1 bash -i

すると、問題なくsudoできるようになりました。早速、次のコマンドでTakaoフォントをインストールします。なお、パスワードはユーザー名と同じ「phablet」に設定されています。

sudo apt-get update
sudo apt-get install 'fonts-takao*'

ここまでやって気づいたのですが、Qt Creatorのメニューに[Tools⁠⁠→⁠Ubuntu⁠⁠→⁠Device⁠⁠→⁠apt-get]という項目がありました。ここからパッケージをインストールすることも可能でした。

フォントをインストールしたので、念のために再起動し、ブラウザやFacebookアプリを開いてみたところ、問題なく日本語のページを表示することができました。

図6 Ubuntu Touch上のブラウザに表示された日本語のサイト
図6 Ubuntu Touch上のブラウザに表示された日本語のサイト

以上、先週リリースされたUbuntu Touch Developer PreviewおよびUbuntu SDK Previewを紹介しました。まだまだ発展途上ですが、画面端からのスワイプによる操作は、慣れればかなり使いやすそうです。

またアプリの開発や公開、販売のハードルも低くなりそうですので、搭載機が何種類も発売されれば、開発者を呼び込むこともできるのではないかと思います。

おすすめ記事

記事・ニュース一覧