Ubuntu Weekly Topics

2013年3月8日号 Ubuntu Developer Summit 2013 March・Mirディスプレイサーバー

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

Ubuntu Developer Summit 2013 March (UDS 13.03)

Ubuntuの開発の基礎になる会議であるUDSの新バージョン,オンラインUDSの第一回にあたるUDS 13.03が開催されています。

特に今回のUDSは,Ubuntu Touch(Ubuntu PhoneとUbuntu Tablet)のリリースをターゲットにしたものであると同時に,⁠ローリングリリースを採用するか否か」という議論が大きな焦点となっており,これまでのUDS以上に深い議論が繰り広げられています。UDSの開催時間を完全にスルーしてMLで熾烈な議論が発生している等,オンライン化ならではの光景も見られ,日本時間の3月8日に入った時点でもまだ結論に至っていません。議論はかなり徹底的な形で行われており,たとえば,13.04の方向性は(実際には選択される可能性のない,あまり現実的でないものも含めて)次のようなものです。

  • ローリングリリースへの切り替えを問わず,予定通りにリリースする。
  • 13.04は予定通りリリースして,その後でローリングリリースにする。
  • 13.04はなかったことにして,今すぐローリングリリースに切り替える。
  • 13.04以降,毎月リリースしてしまう。

興味がある方は,ubuntu-devel MLの議論を追いかけたり,UDSのサイトから参加登録をして各種議論の様子を確認してください。特にMLの3月のアーカイブは,ほぼすべてがこの件の議論で埋め尽くされています。

Mirディスプレイサーバー

UDSでの議論に並行して,さらに非常に大きな変化がUbuntuに起ころうとしています。Canonicalが新たな隠し球として,独自開発のディスプレイサーバー実装である「Mir」発表しました(“Mir⁠は旧ソ連が打ち上げた宇宙ステーションのミールのアルファベット綴りなので,⁠ミール」と読むのが正しいでしょう)⁠

Mirは,Xorg(いわゆる「X Window System」⁠の代替として利用するもので,Ubuntu/Canonicalがかつて移行を宣言していたWaylandと同じような「次世代ディスプレイサーバー」の実装です。特徴はデスクトップLinuxで利用されるGBM+KMS+DRMによる実装と,Androidなどのフレームバッファ+OpenGL ESベースの環境の両方で動作することです。

Mirの開発は2012年からひっそりと続けられていたと見られ,すでにコア部分が動作するコードと,Galaxy Nexusへの移植が完了し,Mir上で動くQt実装が存在しています。とはいえ本格的な開発はこれから,というステータスで,多くの作業アイテムが登録されている状態です。登録されているアイテムには複数の解像度のディスプレイが混在する環境への対応や,GTK/XULなどの移植や多段起動(X上で別のXサーバーを動かすのと同じような機能)などがあります。

MirはXプロトコルとは全く異なるものを用いるため,QtやGTK,あるいは各種アプリケーションを動かすには各ソフトウェア単位でMir上への移植が必要になります。このため,MirにはRootless X機能が準備され,Xベースのソフトウェアはこのレイヤの上で動作させることになりそうです。

ただし,これらの機能はいずれもWaylandでも実現できることで,Canonicalがなぜディスプレイサーバーの独自実装のような高コストな選択肢を選んだのか,という部分は不明確です。なぜWaylandにしなかったのかというドキュメントもあり,ここには『未来のデバイス』を含めて考えると入力デバイスのセキュリティ(権限の分離)が実現できなかった,という記述はあるものの,具体的な理由に踏み込んだ内容は添えられていません。伝統的にCanonicalは「移行の理由」を非常に明確に説明し,技術的にスキのないロジックを展開する傾向があるため,この部分の説明不足はやや不自然です。Unityへの移行がUbuntu Touchへの布石だったことと同じように,何らかの「今はまだ言えない理由」が含まれている可能性があります。Upstartなどの他のCanonical実装で実現する機能との適合性に問題があった,あるいは「まったく新しい入力デバイス」を想定しているといった理由を考えてみるのも面白いかもしれません。

今後のUbuntuは段階的にXからMirへの移行を進めていくことになります。移行計画は,おおむね次のようなものです。より細かなアクションアイテムを確認したい場合は,Blueprintsのclient-1303-unity-ui-iteration-0を参照してください。

  • 2013年5月:Ubuntu Touch(Tablet + Phone)用のMirのコア実装が完了し,この上で動作する新Unity(Unity-Next)の開発をスタートする。
  • 2013年10月:Ubuntu TouchはMir + Unity-Next環境に移行する。また,デスクトップでもXサーバーの代わりにMirに移行し,XアプリケーションをルートレスXサーバー上で動作させる。
  • 2014年4月:デスクトップでも完全にMirへ移行し,さらにTouchとデスクトップを自由に行き来できる状態にする。

MirがCanonicalの思惑通りに進歩し,多くのデバイス上で動作するようになると,Ubuntu Desktop・Ubuntu Tablet・Ubuntu Phone・Ubuntu TV・Ubuntu Server・Ubuntu Core(組み込み向けの「ミニマム版」Ubuntu)といったUbuntuの製品群が,単に共通のコードベースを持つだけでなく,GUI実装まで統一された足回りを持つことになります注1)⁠これにより,Unityがその名の通り,⁠多くの環境で統一して提供されるインターフェース」として存在する状態になります注2)⁠この流れが最大限にうまく行くと,⁠コンピューターの標準的なインターフェースはUnity」という世界になるかもしれず,⁠Unityの操作さえ覚えておけばあらゆるコンピューターを(とりあえずは)扱える」という未来がやってくる可能性もありえます注3)⁠

注1
現時点ではUbuntu DesktopはXに,Tablet・PhoneなどはSurfaceFlingerに依存しています。
注2
Ubuntu ServerやCoreではGUIを実現する必然性がほとんどないので,Unityを含めたGUI部分は提供されないはずです。ただし,その「下」にあるLinuxカーネル等はほぼ共通であるため,多様なデバイスや守備範囲をカバーしつつ,単一のコードベースやノウハウが通用する世界を作ることができるようになります。
注3
Unityを用いたコンピューティング環境が,ありとあらゆる場所に存在する,という未来がやってくる(かもしれない)⁠ということは,たとえば「自宅のノートPCのデスクトップはUnityで,自宅の家電を操作するのもUnity,街に出かけて自販機でジュースを買うときのインターフェースもUnity,切符を買うときもUnity,持ち歩くケータイもUnity,飲食店に入って何かを注文するときもUnity」という光景を意味します。検索対象をLensによって切り替えることができるのがUnityの強みなので,このような極端に幅広い範囲への適用も不可能ではありません。……ただし,現行の各種OS,特にWindowsとMac/iOSもこのような世界を狙っている競争者のひとつであり,Canonical/Ubuntuだけがこうした未来を作ろうとしているわけではありません。

Upstart 1.7

Upstart 1.7がリリースされています。このバージョンではinit daemonとしてよりも「各種サービス起動のための管理デーモン」としての機能強化が中心で,デスクトップ環境に必要な各種デーモンを起動させるためのユーザーセッションモードが利用可能になっています。

initデーモンとしての常識に反して,ユーザープロセスとしてUpstartを追加で起動し,必要なデーモンを起動することができます。この機能を利用することで,デスクトップセッションの開始(=GDMやLightDMからのログイン)と同時に起動するデーモンはUpstartだけにしておき,Upstartのジョブとして各種デーモン(たとえばNetworkManagerやIBusのような,デスクトップで必要なもの)を起動する,ということができます。このようにすることで,デスクトップ環境に必要な複雑なデーモン構成をUpstartのサービス定義で実現できます。この方法の直接的なメリットは,⁠このデーモンはNetworkManagerの後に起動したいが,別に存在するデーモンBよりは先に起動したい」といった要求を簡単に記述できるようになることです。

UWN#306

Ubuntu Weekly Newsletter #306がリリースされています。

今週のセキュリティアップデート

usn-1751-1:Linux kernel (OMAP4) のセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-February/002023.html
  • Ubuntu 12.10用のOMAP4カーネルのアップデータがリリースされています。CVE-2013-1763を修正します。
  • 対処方法:アップデータを適用の上,システムを再起動してください。
usn-1752-1:GnuTLSのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-February/002024.html
  • Ubuntu 12.10・12.04 LTS・11.10・10.04 LTS・8.04 LTS用のアップデータがリリースされています。CVE-2013-1619を修正します。
  • いわゆる「Lucky Thirteen」攻撃を抑制します。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-1753-1:DBus-GLibのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-February/002025.html
  • Ubuntu 12.10・12.04 LTS・11.10・10.04 LTS用のアップデータがリリースされています。CVE-2013-0292を修正します。
  • "NameOwnerChanged" イベントの送り元を適切に確認しないため,ローカルユーザーが本来よりも高い権限を奪取できるおそれがあります。
  • 対処方法:アップデータを適用の上,システムを再起動してください。
usn-1754-1:Sudoのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-February/002026.html
  • Ubuntu 12.10・12.04 LTS・11.10・10.04 LTS・8.04 LTS用のアップデータがリリースされています。CVE-2013-1775を修正します。
  • sudoがスタンプファイルを参照する際,システムクロックがepochにセットされている場合(たとえばCMOS電池を抜かれたような場合)にも適切なスタンプファイルと誤認してしまうため,すでにタイムアウトしたスタンプファイルを用いてsudo特権を得ることが可能でした。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-1732-2:OpenSSLの再アップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-February/002027.html
  • Ubuntu 12.10・12.04 LTS用のアップデータがリリースされています。 LP#1133333で報告された問題を修正します。
  • usn-1732-1の更新により,ハードウェア支援によるAES-NIデコードが常に失敗する状態になっていました。
  • 対処方法:アップデータを適用の上,システムを再起動してください。
usn-1729-2:Firefoxの再アップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-March/002028.html
  • Ubuntu 12.10・12.04 LTS・11.10用のアップデータがリリースされています。
  • usn-1729-1の更新後,通常利用時にFirefoxが突然フリーズしたり,クラッシュする状態に陥っていました。
  • 対処方法:アップデータを適用の上,Firefoxを再起動してください。
usn-1755-1:OpenJDK 6のセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-March/002029.html
  • Ubuntu 12.04 LTS・11.10・10.04 LTS用のアップデータがリリースされています。CVE-2013-0809, CVE-2013-1493を修正します。
  • 対処方法:アップデータを適用の上,OpenJDKを利用するすべてのソフトウェアを再起動してください。

著者プロフィール

吉田史(よしだふみひと)

Ubuntu Japanese Team Member株式会社創夢所属。システム管理を中心にWindows/PC Unixを併用している。Ubuntu Japanese Teamではパッケージサーバの管理や翻訳などの作業を担当。

コメント

コメントの記入