Ubuntu Weekly Recipe

第269回 Unity Nextをデスクトップでちょっとだけ体感してみる

この記事を読むのに必要な時間:およそ 4 分

Unity Nextは現在絶賛開発中の次世代デスクトップインターフェースです。先日,Unity NextのUI部分をデスクトップアプリとして体験できるようになったので,今回はその手順を紹介します。

Unity Next

Topicsでも既報のとおりUbuntuを普通のPCだけでなくスマートフォンやタブレット,その他のデバイスでも統一的なインターフェースで動かすためにディスプレイサーバーを独自で実装する計画が進んでいます。

Unity Nextはこの新しいディスプレイサーバー「Mir」上で動作させることを目的とした次世代のUnityなのです。Mirをベースにすることから,CompizとNuxを組み合わせて使っている現在のUnityから,Qt 5とQML2,それにMirのQtバインディングを使ったコードへとゼロから書き直す形になります。

ユーザー側から見た場合にUnity Nextでは,次のような機能を実現する予定です。

  • タッチフレンドリーな操作性
  • スマートフォンからTVまで多種多様なフォームファクターで採用されている解像度をシームレスにサポートすること
  • スマートフォンをTVにつなげた時などに解像度の変更を検知してそれに適したインターフェースに切り替わること

プレビュー版を公開しているUbuntu Touchは既にUnity Nextを採用しています注1)⁠

図1 Unity Nextの最新版が入っているUbuntu Touch

図1 Unity Nextの最新版が入っているUbuntu Touch

注1)
ちなみに今のところはMirを使わず,AndroidのSurfaceFlinger上で直接UbuntuとQtを動かし,その上でUnity Nextを動作させる形を採用しています。また,Bionic libcとeglibcの橋渡しをするためにlibhybris経由で,Andoroidのハードウェアドライバーを使っています。

PC版Unity Next

PC版のUbuntuは当面の間,既存のUnityを使い続ける予定です。計画では2013年10月頃にスマートフォン,タブレット向けのMirとUnity Next移行を完了し,2014年4月の次期LTSにおいてすべてのプラットフォームをMir+Unity Nextに変更することを予定しています。

ただし,Unity NextのUI部分はQt 5とQML2を使ったただのアプリケーションでしかありません。このため必要なライブラリとコンポーネントさえ揃えれば,既存のUbuntu上のアプリケーションとしても起動できます。

先週には必要なライブラリやコンポーネントも含めてUnity Nextをビルド&実行する方法が公開されました。これを使えばUbuntu Touchが動作するデバイスがなくてもUnity Nextの雰囲気を体感できます注2)⁠

注2)
体感できるだけです。任意のアプリを起動できないなど,デスクトップシェルとしてはまだまったく使い物にならないことに注意してください。

ビルド方法

これから説明する方法は,Ubuntu 12.10,開発中の13.04のどちらにも対応しています。ただしQt 5をインストールするためにPPAを追加したり,ビルド用のパッケージをインストールしたりと,環境に大きな変更を加えます。本番環境(特にQtアプリをよく使う環境)で実行する場合は,その点に注意しておいてください。

また,先週の時点ではライブラリの不整合やビルドパスのミスなどがあってビルドができない状況でしたが,各コンポーネントのリビジョンの固定やビルドスクリプトの整理などが行われた結果,2013年4月6日(土)時点ではこれから説明する方法で問題なくビルドできます。もしビルドできないようなら,Unity Nextのブランチのリビジョンを545まで進めるか戻すかした上で実行してください。

最初に最低限必要なパッケージをインストールします。

$ sudo apt-get update
$ sudo apt-get install bzr software-properties-common

Unity Nextのソースコードとビルドスクリプトをダウンロードします。

$ mkdir ~/unity
$ cd ~/unity
$ bzr branch lp:unity/phablet ~/unity/unity-next
$ cd unity-next

ビルドと実行に必要なコンポーネントのソースコードやライブラリを取得します。

$ ./build -s

なお,上記スクリプトでは以下のコマンドが実行されます。

  • PPAの追加:ppa:phablet-team/desktop-deps
  • 12.10では次のPPAも追加します:ppa:canonical-qt5-edgers/qt5-proper,ppa:ubuntu-sdk-team/ppa
  • 次のコンポーネントの取得:lp:libunity/phablet,lp:unity/phablet-mods,lp:hud/phablet,lp:unity-lens-people
  • 12.10では次のコンポーネントも取得します:lp:nux/phablet
  • ビルドに必要なパッケージの取得,取得したコンポーネントのビルドとインストール

インストール先は,上記の例だと~/unity/unity_build/以下になります。

Unity Next本体をビルドします。本体自体はそれほどビルド時間はかかりません。

$ ./build

これでビルドは完了です。今後,コードやコンポーネントの更新に追随する場合やコードを修正して再ビルドする場合は,次のコマンドを使用します。

Unity Next本体の更新

$ bzr pull
$ ./build

コンポーネントのみが更新された場合

$ ./build_unity -u
$ ./build_unity

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member株式会社 創夢所属。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。

コメント

コメントの記入