[Analysis]
デスクトップLinuxを巡る7つの話題
2008/08/12
すでに旧聞に属するが、Ubuntu Linuxの創始者で英カノニカルのマーク・シャトルワース氏が大胆な宣言を行い、オープンソース界にちょっとした波紋を呼んだ。2008年7月22日、米国で開催中だった「O'Reilly Open Source Convention」の講演でシャトルワース氏は、オープンソース開発者を前にして、今後2年程度でLinuxのデスクトップ環境をMacを超える“芸術品”にしようではないかと呼びかけた。eWEEKのダリル・タフト氏が伝えるところによれば、「ただ真似をするだけではなく、アップルを抜き去ることが、われわれにできるだろうか?」と挑発的な問いかけをしたという。
以下の原稿では、デスクトップLinuxを巡る7つの話題を取り上げたい。
話題1:OSSの開発スタイルはデスクトップ開発に向かない?
一般にオープンソースによる開発スタイルでは、特定領域の急激な進化は起こりづらいと言われる。参加が自由で、何をやるかも自由だと、個人や企業が自分が関心があるプロジェクトにだけ専心して、それが形になると開発をやめてしまう。だから、開発のリソースをトップダウンで特定の方向へ振り向けるのは難しい。同時多発的にプロジェクトが並列で数多く走り、その結果として多くの失敗プロジェクトと支持されるプロジェクトが生まれ、少しずつ成果を残しながら進化していくというのがオープンソースらしい開発のあり方かもしれない。
シャトルワース氏の発言は、こうしたオープンソース開発の常識を覆そうではないか、という挑発的呼びかけにも聞こえる。ユーザーインターフェイスの開発、とりわけ斬新なインターフェイスの開発はオープンソース開発は苦手という見方が一般的だ。なぜなら、地理的に離れた開発者が基本的にメーリングリストやIRCだけで開発を進めるスタイルでは、ホワイトボードや紙と鉛筆を使って丁々発止の議論をする開発スタイルにかなわないからだ。
これに対して、例えば仮想化技術などは非常に速く開発が進むようで2007年2月にカーネルに取り込まれたばかりの「KVM」(Kernel-based Virtual Machine)の完成度は高く、仮想化環境を提供するQEMUとの組み合わせでWindowsやLinuxをはじめとする多くのOSを快適に使うことができるレベルになっている。
話題2:「デスクトップは難しい」とリーナスが発言
Linuxを使っている主なユーザー層がGUIの“デスクトップ”にあまり関心がないという事情もある。それは例えばLiunxの生みの親であるリーナス・トーバルズ氏自身の言葉に端的に表れている。2008年初頭にLinuxファウンデーションが行ったインタビュー(インタビュー前編、後編)の中でリーナスは、自分自身が「デスクトップLinux以外のことなど、1度だって気にしたことがない」と答えているし、「(Linuxをサーバとして)使いたいとも思わない。興味がない。自分はどちらかといえばデスクトップの人間だし、これまでずっとLinuxをワークステーションとして使ってきた」と話している。しかし彼が言うデスクトップとは使い方についての話であり、おそらくUbuntuのシャトルワース氏がいう“デスクトップ”とは違うものを指しているのだろう。リーナスは冒頭でデスクトップという言葉で始めておきながら、最後に“ワークステーション”と言い替えている。リーナスがいうワークステーションは開発者や理系研究者といった人々の日常作業環境としてのUNIXを指していて、それはWindowsやMacのようなデスクトップとはまったく違う。ワークステーションとしてのLinuxは10年以上も昔からきわめて実用的なものだった。
リーナスも「ワークステーション」と「デスクトップ」を区別していないわけではないようで、インタビュワーにデスクトップLinuxの可能性について聞かれて、こうも答えている。「デスクトップはどうあるべきかについて、みんなバラバラの考えを持っている。Windowsユーザーがたくさんいて――、彼らはデスクトップがどんなものであるか知ってますよね。Windowsでしょ?」。同様に、Macユーザーにとっては画面の上部にメニューバーがなければデスクトップではない。
Windowsを置き換えられるOSがあるとしたら、それはWindows XPと同等のルック&フィールやバイナリ互換性を提供するしかないのかもしれない。実際、そうしたゴールを掲げるプロジェクト、「ReactOS」が、まだアルファ版リリースながら存在する。
デスクトップはバリエーションが幅広い上に、非常に強い慣性が働くためにユーザーは「違う」ことに対してフラストレーションを感じる。それに、もはやコモディティと化した“デスクトップ”に誰も変化など望んでおらず、マイクロソフトですらXPユーザーをVistaになかなか乗り換えさせられずにいる。この点についてリーナスは端的に「もし(以前と)違うなら、より良いことも悪いこと」(Better is worse.)なのだと達観している。
リーナスの結論は5年経っても人々が空飛ぶクルマに乗っていないのと同様に、PCのデスクトップOSを取り巻く状況もあまり変わっていないだろうというものだ。
Linuxはデスクトップ以外の分野では広く普及している。サーバ市場と組み込み市場ではもちろん、クラウドと呼ばれるネット上のコンピュータ群を構成するビルディング・ブロックとしても、もはやLinuxは不動の地位にあると言ってもいい。それは、サーバ向けや組み込み向けの開発が、デスクトップ向け開発に比べてはるかにニーズが単純で、実装する機能も簡単だったからだとリーナスはいう。デスクトップOS市場が大きく変わる可能性があるとしたら、まったく新しいユーザー層が入ってきたときではないかと述べるとどまっている。リーナスが若い世代のことを指しているのか、BRICsや途上国の若いユーザーのことを指しているのか、それはよく分からない。
あるいはPCという存在がマイナーな存在となり、多くの人々がMID(Mobile Internet Device)と呼ばれる小型モバイル端末を使うようになるとか、このままWebアプリケーション化が止めどなく進展してデスクトップOSが陳腐化するというような出来事をリーナスは想定していたのかもしれない。2013年にMID市場でLinuxは、年間5000万台を出荷するトップシェアOSとなっているとする予測がある。2007年の全世界でのPC出荷台数は3億台弱。その6分の1の規模に匹敵するLinux搭載MIDが5年後に市場に溢れるとしたら、“デスクトップ”の風景も変わってくる可能性があるのかもしれない。
話題3:IBMが旗振り役、デスクトップLinux販売へ
リーナスはUNIXワークステーションとしてのLinuxに満足している一方、Mac OS XやWindows代替としてのデスクトップLinuxには関心がないようだし、あまり見込みのない話だと考えているようだ。逆にシャトルワース氏のようにデスクトップLinuxにも一定の未来があると考える人がいる。実際、この1、2年ほどでデスクトップLinuxの完成度が高まり、開発も活性化してきているように見える。
デスクトップLinuxは開発者向け環境や特定業務でのシンクライアント向けとしては、十分な完成度に達している。これは、特定領域向けソリューションの基盤としてLinuxをベースにしたデスクトップPCの提供に乗り出すとしたIBMの2008年8月7日の発表に象徴されている(参考記事:IBMとLinux大手がMSフリーのデスクトップPC提供へ)。
デスクトップ向け開発プロジェクトは活性化してきている。OpenOffice.org、あるいはGNOMEやKDEといったソフトウェアの進化がめざましいのは言うまでもないし、シャトルワース氏が始めたUbuntuプロジェクトは快進撃といっていいほど注目度や完成度が高まっている(参考記事:Ubuntu Linuxが注目される理由)。そうしたベース部分での完成度向上だけでなく、記者が注目しているのは、例えばガジェット類の開発や3Dデスクトップの開発、あるいは一風変わったアプリケーションランチャー「GnomeDo」といったソフトウェアの登場だ。
話題4:“色気”を増すLinuxのデスクトップ環境
ガジェット類はデスクトップOSのみならず、今やケータイをはじめとするモバイル端末でも標準になりそうな勢いだ。これまでLinux向けのガジェットはモノクロ2値のビットマップでメール受信を知らせるようなもの、ネットワーク負荷を味気ないグラフで示すものなど、“色気”のないものが多かったが、今では実用的で見た目にも美しいガジェット類が簡単に使えるようになった。
デスクトップを立方体の面のように回転させて使える3Dデスクトップ環境は、実用より遊びの要素が強い感があるのは否めないが、斬新なアイデアを次々とプラグインという形で実装しているその開発のエネルギーには目を見張る。ウィンドウが炎とともに消え落ちるという単なる視覚効果だけのものばかりでなく、見失ったマウスカーソルを発見しやすいようにユーザーのアクションに反応してマウスカーソル周辺からデスクトップ全体に波紋を広げるような機能など、「デスクトップUIの実験場」といった雰囲気になっている。カオス的で一貫性のないUIがいいとは思わないが、実験が活発なのはいいことだ。こうした遊びの土壌から、新しいアイデアが出てきて、徐々に使いやすいものに収斂していく可能性がある。
「GnomeDo」も実験的なソフトウェアだ。GnomeDoをインストールすると「Windowキー+SPACE」で画面中央に大きなアイコンの枠が2つ、現れるようになる。ここで何かキーをタイプすると、インクリメンタルサーチでアプリケーションや文書ファイル、画像ファイルがヒットする。目的のファイルやアプリケーションを絞り込んだら、次にアクションを指定する。「実行、開く、編集、ファイルの移動、端末を開く」など、それぞれ文脈に合わせたアクションを指定する。文脈によってはアクションに対して目的語ともいうべき3つ目の指定アイコン枠が出てくる場合もある。GnomeDoを使うと「何を(何で)どうする」という指示がサクサクできるので、スタートメニューやアイコンをクリックするのが億劫になる。キーをタイプしたときの検索対象はWebブラウザのブックマークや楽曲ファイル、IM上のコンタクトリストも含まれる。
もともとGNOMEには「ALT+F2」でWindowsでいう「ファイル名を指定して実行」に似た機能があったが、大きなアイコンで柔軟な指定ができるGnomeDoのほうが優れているように思う。こうした実験的なものが今後GNOMEプロジェクトに正式に加えられることがあるとすれば、これはデスクトップLinuxの進化の最先端部分だと考えることができる。GnomeDoのバリエーションとして、EeePCのような小さな画面でも使えるGnomeDo miniというものもある。
GnomeDoはMac OS X上で人気の高いフリーソフトウェア「Quicksilver」を真似て作られたアプリケーションで、そういう意味ではオリジナリティはない。しかし、こうしたデスクトップ寄りのアプリケーションのプロジェクトを才能のある若者がスタートさせて、その周囲でプラグインを書く開発者のコミュニティができあがっていくという事実は“デスクトップLinux”に対して開発リソースが十分にあるということを示しているように、記者には思われるのだ。カーネルやサーバソフトウェア、ネットワークツール、あるいはUNIXの伝統的ツールの開発に加わるのではなく、デスクトップ向けツールでも活発な開発コミュニティが形成されている。GnomeDoの創始者が開発言語にCではなくC#を選んだという点も新世代の登場を感じさせるものがある。
話題5:インターフェイスに関わる実験的実装
OSを支える下層部分でも見るべきものがある。X.Orgやカーネルのスケジューラ回りの変更もデスクトップOSとして見た場合のLinuxにとって重要だ。
X Window SystemのXサーバ実装であるXFree86のプロジェクトから2004年にフォーク(分裂)したX.Orgプロジェクトは、それまで停滞した感もあったXの開発を再活性化した。透明ウィンドウの表示、3D表示向けのOpenGLやダイレクトレンダリング機構の実装などが進んだ。2つ以上(最大18個まで)のマウスを同一デスクトップ上で扱えるようにするXサーバの実装「MPX」(Multi-Pointer X Server)といった実験的プロジェクトもある。マウスを2つ使えば、ウィンドウを両サイドから同時に引っ張るようなことができるようだ。MPXの真価が発揮されるのはタッチデバイスでLinuxを使うようなときかもしれない。
IPAが主催する「未踏IT人材発掘・育成事業」の2008年度上期で採択された「Web接続型ウィンドウマネージャの開発」という野心的なプロジェクトは、Webブラウザの中にXを入れてしまうもののようだ。Linuxに特化したものではないが、UNIXのデスクトップ環境にまつわる開発が活性化している一面と捉えることもできるだろう。
FUSE、遊び心はイノベーションの元
もう1つ、Linuxのインフラに近い部分で実験的なプロジェクトが多数進行しているジャンルに、ユーザー空間ファイルシステム「FUSE」(Filesystem in Userspace)というものがある。ファイルシステムは通常カーネルに組み込まれていて、なかなか開発に手が出せないが、FUSEを使えば比較的手軽にファイルシステムを自作できる。PerlやPython、Rubyといったスクリプト言語で実装することすらできる。
FUSEで書かれたファイルシステムには、Windowsパーティションを読み書きする「NTFS-3g」や、サン・マイクロシステムズの高機能ファイルシステム「ZFS」、暗号ファイルシステム「CryptoFS」といった実用的なものがある一方、Rubyをファイルシステムとしてマウントする「RubyFS」、Gmailのストレージを直接ローカルにマウントしてしまう「GmailFS」、Wikipediaの記事をマウントできる「WikipediaFS」など何でもファイルシステムにしてしまう人たちがいる。オープン、リード、コピーなど、通常のファイル操作に該当する何らかの操作が可能なものであれば、何でも抽象化してファイルシステムとして実装できる。「YouTubeFS」「FlickrFS」「BloggerFS」「fuse-zip」「httpfs」「imapfs」「mysqlfs」「memchachefs」など、名前を聞いて、およそ動作が分かるものから、いったい何の目的でマウントするのだろうかと思える不思議なものまで、非常に多くのプロジェクトがある。
遊びか実用かと問われれば「微妙」なものも多いFUSE関連のプロジェクトだが、遊びの延長のように見えて、まったく新しい使い勝手を実現するプロジェクトもある。例えばデービッド・コレット氏が開発する「MP3FS」は興味深い。MP3FSはリードオンリーのファイルシステムとしてマウントすることができ、ディスク上にあるオーディオファイルをオンザフライでMP3形式にトランスコードするというものだ。MP3プレイヤーで任意のオーディオファイルが再生できる。作者のニーズに対応しているだけなので、実際にできるのはロスレスコーデックのFLAC形式を読んでMP3に変換することだけだが、ライブラリさえあればコーデックの対応を増やすのは難しくないだろう。
MP3FSは、ファイルシステムとして実装する意味がないようにみえる。しかし、事前にファイル形式を変換してデータを二重に持つよりも合理的だし、ファイルシステムレベルで抽象化しておけば、どんなファイル形式、どんなアプリケーションでも対応できるというメリットがある。同様に、指定サイズでサムネイル画像を読み出せる「ThumbFS」というものも考えられるかもしれない。Webブラウザから参照ボタンを押して小さな画像をアップロードするという場面は多いが、いちいちオリジナルの画像をどこかにコピーしてリサイズするのは手間だ。必要になったとき(ファイルが読み出されたとき)にファイルシステム側でリサイズしてくれれば便利だ。
「TagFS」はローカルのファイルをタグベースで管理するためのファイルシステムだ。実用的かどうかは別として、デスクトップOSとしてのLinuxがMac OS XやWindowsを超える新しい使い勝手を実現できるのだとしたら、こういうところに芽があるのではないだろうか。「GridFTP File System」や「GlusterFS」といった分散ファイルシステムの実装もあり、ファイルシステム関連では興味深い進化が今後も見られそうな気配だ。
話題6:デスクトップLinuxとカーネルの微妙な関係
デスクトップOSとしてLinuxを考えたとき、カーネル関連でも最近非常に大きな変化があった。カーネル2.6.23に入った新しいタスクスケジューラ「Completely Fair Scheduler」(CFS)は、ユーザーからのアクションに対する応答時間を改善するのに効果がある。“応答性”はデスクトップOSにとって重要なテーマだ。
CFSのコードを書いたのは著名なカーネル開発者でレッドハットに在籍するインゴ・モナー氏だが、そのアイデアの元となったのは、メルボルンの病院に勤務する麻酔科医、コン・コリバス(Con Kolivas)氏が実装した数々のスケジューラだったという。豪オンラインメディア、ninemsnに掲載されたコリバス氏のインタビューが示唆に富む。
コリバス氏は2002年当時、Linuxカーネル開発者たちはデスクトップ用途を完全に無視していたと指摘する。大手ベンダに雇われた開発者たちは、データベースのパフォーマンスを1%上げることに注力したり、1024CPUでLinuxを動かすことは考えるが、デスクトップOSとしてのLinuxなどという視点は完全に欠落していたと、厳しい口調で批判している。
現在のデスクトップLinuxはWindows XPやVistaに比べて重たく感じる場面が多い。同じハードウェアで使った場合、ユーザーの体感速度として「もっさり感」があるのはLinuxのほうだ(ファイル操作関連はLinuxのほうが快適に感じるし、GNOMEやKDEを使わなければずっと軽くなるだろうが、それはまた別の話)。コリバス氏がカーネル開発に加わったころは特にひどく、音飛びが発生してまともにオーディオ再生ができないとか、大きなファイルをコピーするとマウスカーソルが飛び飛びになるほどレスポンスが悪くなる、あるいはウィンドウをクリックしてドラッグするとウィンドウが裂けて表示され、画面がガクガクと乱れるといったことが発生していたという。PCは過去10年で1000倍は速くなっているというのに、われわれがデスクトップOS上でやることはことごとく遅くなっている。「何百億兆万京ヘルツのCPUで、それでオーディオ再生すらできないって何?」(コリバス氏)というわけだ。
新スケジューラ「CFS」の採用
一般ユーザーが使うPCとしてソフトウェアとハードウェアのバランスが崩れているのではないかと感じたコリバス氏は「Cのソースコードがどんなものかも知らなかった」(同氏)状態から、カーネルハックに取り組み、やがてデスクトップとしての体感速度を改善するパッチ集を「ckパッチ」としてリリース。タスクスケジューラだけでなくI/Oスケジューラやスワップ周りのパッチも含んでいた。
コリバス氏は非常に多くの賛同者を得たが、ほかのカーネル開発者との折り合いが悪く、最終的には憤りと傷心が半ばしたまま2007年7月に開発コミュニティを去っている。カーネル開発コミュニティに詳しいある日本人開発者によれば、コリバス氏の不幸は、多くの賛同者を得られたものの実際にコードを書く人が周囲に集まらなかったことではないかという。ckパッチの適用で体感速度に違いがあると感じたユーザーは多かったが、客観的指標として示しづらかったこともあり、結局ほとんどメインラインには取り入れられなかったという。コリバス氏はカーネル開発者コミュニティが世間離れした高スペックなPCを使ってエンタープライズのことばかり考えていて、一般的なデスクトップ環境としてLinuxを使うPCユーザーの不平に聞く耳を持たないのだと指摘している。
コリバス氏のパッチはほとんどメインラインに入らなかったが、すでに書いたように現在最新のLinuxにあるCFSと呼ぶスケジューラは、コリバス氏のアイデアにヒントを得て作成されたものだ。インゴ・モナー氏はCFSのリリースを発表するメールの中で、コリバス氏に謝意を表明している。
例えばUbuntuは2008年4月にリリースしたUbunt 8.04からCFSをデフォルトにしたLinuxカーネルを採用するなど、メジャーディストリビューションでのCFS対応が進んでいる。
デスクトップ向けへの配慮
カーネル開発者たちはサーバやエンタープライズ用途のためにデスクトップOSのパフォーマンスを犠牲にしていたというのがコリバス氏の指摘だ。マルチタスクOSではプロセス間の切り替えをどういう優先順位やタイミング、粒度で行うかは難しいテーマだ。粒度を大きくして個々のプロセスに十分な処理時間を与えたほうが全体の処理性能は上がるが、応答性は悪くなる。逆に応答性を上げるために粒度を細かくしすぎるとタスクスイッチのオーバーヘッドが大きくなり全体のスループットが下がる。サーバとデスクトップという性格の異なる用途では、基本的に相反するニーズがある。サーバではネットワークの遅延があるので数十ミリ秒単位の応答性の悪さは誤差範囲で、それよりも個々のスループットが重要だろう。一方、機敏な反応がユーザーの体感速度と使用感に影響を与えるデスクトップでは、全体のスループットより応答性を重視すべきだ。
2005年の夏ごろ、カーネル開発者間でタイマ割り込み周波数のデフォルト値をどう設定するかで論争が起こった。タイマ割り込みはカーネルの時間管理に関連する多くの処理に関わるが、特に影響が大きいのはスケジューラだ。デフォルト値として100Hz、250Hz、300Hz、1000Hzなどの候補があったが、デスクトップ向け、特にマルチメディア関連アプリケーションで十分な応答性を確保するには1000Hzが良いとされる一方、バッテリ消費の問題もあり、妥協案としてリーナスは250Hzを選択していた。ここでもコリバス氏は250Hzという選択を、100Hzと1000Hz双方の悪い面(応答性とバッテリ消費)だけが残る優柔不断な数値だと批判していた。しかし、これも最終的にはカーネル2.6.13からコンパイル時の設定で簡単に変えられるようになり、今ではディストリビューション作成者が「デスクトップ向け」「サーバ向け」として適切にチューニングしたものを提供する形となっている。
こうした変化は、Linuxがサーバ向けばかりでなくデスクトップ用途としても重要だという、関係者やユーザーの認識の変化を象徴しているように思われる。
話題7:UbuntuはLinuxに貢献していない?
最近ではログイン画面が出るまでの起動時間を短縮するためにXに手を入れたり、ログインマネージャのGDMの無駄なスリープ時間を削ったりと、起動シーケンスを効率化するという話題をよく目にするようになった。例えばXの起動では、すでに誰も使わなくなったPS/2マウスの検知のために何秒間かスリープするような無駄があり、それを削ったという。
Ubuntuプロジェクトでは2005年から「BootCharting」というソフトウェアを使って起動シーケンスのボトルネックを特定する活動を続けている。これもデスクトップ向けでは意味のある活動だが、40秒の起動時間を38秒に削る努力などは、従来のLinuxサーバの利用者、開発者にとってはどうでも良い話に違いない。
Ubuntuコミュニティはカーネル開発に貢献していないと言われている。カーネル開発者のグレッグ・コロア・ハートマン氏の報告によれば、Linuxカーネルに対してUbuntuコミュニティは、過去5年でわずか6つのパッチを貢献したにとどまる。レッドハットやノベル、IBMに比べて「カノニカルはコミュニティに還元しない」とハートマン氏は述べている。Linuxを専業としていないグーグルが貢献度で13位にランクしているのに対して、カノニカルは300位とかなり低い順位に甘んじている。
これはおそらく開発リソースを振り向ける先が異なるというだけだろう。いずれにしても、カーネル開発ではほとんど存在感のないUbuntuプロジェクトが多くのユーザーと話題を集め、デスクトップLinux開発という分野に開発者の目を向けさせるのに成功しているのは間違いない。冒頭に紹介したシャトルワース氏の呼びかけは、さらに多くの開発者をデスクトップLinuxへと向かわせるに違いない。
情報をお寄せください:
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
キャリアアップ
- - PR -
- - PR -
転職/派遣情報を探す
「ITmedia マーケティング」新着記事
トランプ氏勝利で追い風 ところでTwitter買収時のマスク氏の計画はどこへ?――2025年のSNS大予測(X編)
2024年の米大統領選挙は共和党のドナルド・トランプ氏の勝利に終わった。トランプ氏を支...
AI導入の効果は効率化だけじゃない もう一つの大事な視点とは?
生成AIの導入で期待できる効果は効率化だけではありません。マーケティング革新を実現す...
ハロウィーンの口コミ数はエイプリルフールやバレンタインを超える マーケ視点で押さえておくべきことは?
ホットリンクは、SNSの投稿データから、ハロウィーンに関する口コミを調査した。