8」はUbuntuの次世代インターフェースとして開発しているデスクトップUIです。16.10では,最初からインストールされるようになりました。8を使う方法を紹介します。16.10では最初からインストールされるようになりました。最初からインストールされているとは言っても,標準の環境になったわけではなく,あくまで「お試しできる」状態でしかありません。試せる環境は原則として,IntelかNvidiaのGPU向けのオープンソースドライバーを使っている環境,もしくはKVM上の仮想マシンのみとなります。8は次世代ディスプレイサーバーである「Mir」とセットで開発中のデスクトップインターフェースです。System」を置き換えるために開発中のソフトウェアです。Systemは登場から30年以上が経過して仕様やコードは複雑になり,現在のコンピューターの要件とはそぐわない部分も多々指摘されるようになってきました。Systemを置き換える機運が立ち上がり,その一つがFedoraをはじめとして様々なディストリビューションで利用できるようになってきたWaylandです。8も当初はWaylandを採用する予定でした。Touchを開発するにあたって,当時のWaylandではフォローできない機能がいくつかあったことなどから,結果的に独自開発を行うということでMirプロジェクトを立ち上げます(※1)。OSがWaylandを採用しているように,現在ではWaylandもスマートデバイス向けの機能が一通り揃っています。Mirよりも開発は活発です。8はこのMirの上で動くように,フルスクラッチで書きなおされています。5/QMLを使って開発することになりました。デスクトップPCだけでなく,スマートフォンのような小サイズ・高解像度なデバイスから,タブレットサイズ,さらにはTVのようなサイズは大きいものの距離が遠い表示デバイスにいたるまで,あらゆるレンジのデバイスでそれなりに使いやすいUIになるような作りを目指しています。UI」を開発当初から意識した実装となっているのです。8とMirを製品で採用しています。8とMirの組み合わせは将来的にデスクトップ環境でも適用される見込みで,今回はその一歩です。15.10では標準の環境となる予定でした。Touchへの注力,systemdへの移行といった様々な要因が絡んで,16.10までずれこんだというわけです。2015年の年始にあわしろいくやさんが執筆された第356回の「2015年のデスクトップ環境」では「15.10に間に合わせるべく開発することは可能なのかは疑問があります」とありますが,まさにそのとおりの結果となりました(※2)。※2さらに1年たった今年2016年の年始に掲載された第404回の「2016年のデスクトップ環境」では「30%くらいは17.04に先送りされるのではないかと思っていたりもするのですが」と書いてあったりします。はい,16.10での正式採用は諦めて,17.04以降に持ち越されました。Touch向けがメインではあるものの開発は続いています。8を体験できるスクリプトが用意されたりと,これまでにもデスクトップで簡単に試す手段もいくつか提供されていました。Ubuntuは比較的多くのユーザーを抱えているからか,開発中の新機能に対して喜んで人柱になるユーザーよりも,保守的なユーザーの割合が大きくなりがちです。そのため実験的な機能を導入してもなかなか試してもらえなかったり,ユーザーの数に見合ったフィードバックがもらえません。いざそれを本番環境に採用した途端,多くの人に影響が出てしまうというジレンマを抱えています。11.04でGNOMEからUnityへ移行したときも,賛否両論巻き起こる状態でした。8ではその教訓を糧に,まずは一般ユーザーが簡単に試用できる環境を提供して,数リリース様子を見てから本番環境として採用するというスタンスを維持しています。8がようやく一般ユーザーに試してもらえる品質になったということでもあるのです。すみません,言い過ぎました。安心してください,いつもどおり見切り発車もいいところといった品質です。8を実際に試してみることにしましょう。16.10とIntelかNvidiaのGPUとオープンソースドライバーの組み合わせが必要です。8が固まった時に再起動しないといけないのは怖いといった理由で,実機では試しづらいこともあるでしょう。そこでQEMU/KVMを用いて仮想マシン上で試す方法を紹介します(※3)。Boxでは動きません。VMWareは環境やバージョンによって動いたり動かなかったりするようです。QEMU/KVMはたとえば本連載でもここ数回のセキュアブート関係の記事でも利用しているように,マシンエミュレーターであり仮想マシンを構築するために必要なソフトウェアです。BoxesもバックエンドではQEMU/KVMを利用していますし,クラウド環境構築・管理ツールであるOpenStackや第345回や第430回でも紹介しているOpenNebulaも計算ノードはQEMU/KVM上で動いていることが一般的です。QEMU/KVMの基本的な使い方を覚えておけば,これらのフロントエンドで何かトラブルがあったときに役に立つでしょう。今回はQEMU/KVMのコマンドをそのまま利用しますが,他のフロントエンドでもやり方が異なるだけでそのまま動くと考えてかまいません。qxlオプション)を指定する必要があります。QXLは仮想マシンのリモートデスクトッププロトコルとして開発されたSPICE向けの仮想グラフィックデバイスです。ubuntu-16.10-desktop-amd64.isoUbuntuを普通にインストールしてください。インストールが完了したら再起動します。ENTER:」というメッセージが出たら,ウィンドウを閉じて仮想マシンを終了しましょう。以降は,次のコマンドで仮想マシンを起動します。if=virtio,file=unity8.qcow2SDLウィンドウ上にUbuntuデスクトップが表示されるはずです。ちなみにSDLではなくSPICEを使いたい場合は,次のようにオプションを変更してください。none」はSDLウィンドウを立ち上げないことを意味します。シリアルコンソールは標準出力に出力したい場合,このオプションではなく「-nographic」を指定してください。port=5910,disable-ticketing」でSPICEの設定を行っています。ポート5910番で待ち受け,接続時には認証を行わないという意味です。SPICEプロトコルで接続するためには,SPICEクライアントが必要です。Ubuntuであればspice-client-gtkパッケージのspicyコマンドかvirt-managerパッケージに同梱しているremote-viewerコマンドを利用すれば良いでしょう(※4)。ちなみにspice-html5のようにWebSocketを使ったクライアントもあります。spice-html5を使えば,ビューワー側はWebブラウザーだけで完結します。LTSのspicyはGTK+2アプリケーションです。16.10からGTK+3対応になっています。LTSの時点でGTK+3に移行済みです。