わたしの名はフレイ 作家・デザイナー見習い
神々とともに生きる詩人 一等星シリウスの導きを信じて

GNOME

GNOMEの概要

巨大なデスクトップ環境。GTK+と言うウィジェット・ツールキットをベースに作られている。昔は、シンプルで初心者向けだった。昔のGMONE2を使いたい場合は、MATEをインストールすると良い。

僕の個人的使用感としては、アプリケーションの機能にアクセスするための方法がGNOME 3になってから削られてしまったのが難点。デスクトップのシェル自体は拡張機能を入れることで何とかなるが、アプリケーションのメニューバーをざくっと削除しているため、僕はGNONE 3のアプリケーションは基本的に使わない。僕はいつもMATEをFedoraで使っている。

GNOMEWindowsとの類似性が強いが、そもそもGNOMEコンポーネント技術として採用されたCORBAがWindowsのCOMと同様の技術であるように、最初からWindowsを意識したデスクトップ環境となっている。

だが、インターフェースの特徴などはMac OS X(現macOS)に近く、最近はAndroidのようなタブレットでタッチパネルでタップによって操作されることを念頭に開発されている。

また、シンプルで初心者向けなのを謳っていて、昔から統一的なアイコンやメニューバーなどの機能を分かりやすく、単純にするように作られている。

KDEは統合的要素が強く、それぞれのアプリケーションやコンポーネントが美しく統合されていて、配布もアプリケーションやフレームワーク・ライブラリに応じて配布されているが、GNOMEはそれぞれの要素がバラバラで、それぞれが独立して開発されている印象を受ける。

GNOMEにも、全く良い点が無いわけではない。GNOME 3でインターフェースが独自になって、革新的になった。これからのパソコンのインターフェースを革新していくのは、GNOMEだ。嫌われているのは、GNOME 2がとてもシンプルで使いやすいLinuxの標準GUIだったからだ。

GNOMEの原産地はメキシコである。

GNOMEアーキテクチャの基本

GNOMEのネットワーク・オブジェクト・モデルのアーキテクチャとして、以下の要素がある。

このようにすることで、GNOMEアプリケーションはあらゆるシステムとのコンポーネントとネットワークを通して通信することができ、またあらゆる言語を混ぜてプログラミングを行うことができる。

GNOMEのコードを読もう

Linuxの仕組みを知りたいものとして、誰もが参照したいのがGNOMEソースコード。昔はtar.gzで配布されていたものを個別に入れる必要があったが、今ではGitLabからコードをオンラインで簡単に参照でき、gitを使えばローカルにcloneするのも簡単である。

GNOMEはさまざまな技術をベースにして作られているので、全てを把握するのには時間がかかるかもしれない。だが、「Windowsに代わるOSを使いたい」のであれば、誰でも「Windowsに代わるOSを自分で開発したい」のではないだろうか。カーネルコンパイラの情報も必要だが、実際のところ自分の好きなデスクトップ環境のコードを見ることは、デスクトップ環境を「使うだけではなく開発したい」といった人に向けて開かれている、オープンな情報の在り方のひとつである。

Motif/CDEとGUIツールキットの歴史

旧来のUNIXでは、GUIツールキットを標準化するために、Motifというツールキットが作り出された。

これは、UNIXベンダー各社の間で共通のルック・フィールを持たせようとするものであって、Motifを拡張してHPのHP-VUEが生まれ、それを複数のベンダーが共通化してCDEが生まれた。

昔のUNIXワークステーションGUIを見ると、この伝統的で古臭いけれど味のあるCDEの画面が表示されることが多い。

MotifはOpen Motifとしてオープン化されたが、完全なフリーソフトウェアではなかった。このため、LessTifという互換フリーソフトウェアが開発された。

そして、話はLinuxになる。LinuxでもCDEのような完成されたデスクトップ環境を、特にMicrosoft Windowsに対抗して作り出そう、という動きが、KDEプロジェクトを作った。

だが、KDEはQtと呼ばれるツールキットを使っていた。優れたツールキットだったが、これはオープンソースではなかった。

フリーソフトウェアGUI環境を開発するために、GNUプロジェクトは二つの方法を同時に試した。一つは、Qtをフリーソフトウェアとして実装するHarmonyプロジェクトで、もう一つはGIMP Toolkit(GTK+)というフリーソフトウェアのツールキットを使ったデスクトップ環境を開発するGNOMEプロジェクトだ。

GNOMEは、フリーソフトウェア開発者のミゲル・デ・イカザ氏たちによって、新しい「言語非依存でWindowsのような他のOSのプログラムとも話が出来る」ものとして、CORBAと呼ばれるコンポーネント技術を採用して開発が始められた。これはWindowsのCOMと近い技術で、「UNIXをもっとマシなものにする」というミゲルの話からも分かるように、Windowsを意識したものだった。

結果的に、HarmonyではなくGNOMEが成功した。GNOMEはCで記述され、WindowsとのCORBAコンポーネントと話が出来るようなものになった。そして、GTK+PerlPythonのような他の言語からも使いやすいものになった。

現在では、Qt、Motif、CDE、どのコンポーネントオープンソースのライセンスを採用している。

GNOME 3の方向性

僕は、GNOME 3の方向性も、ある意味では間違っていないと思う。

賢くて独自性のあるシェルにして、アプリケーションの操作を単純化し、シンプルで初心者向けの簡単なものにする、と言う考え方は、パソコンの開発者なら誰でも分かる。

昔の自分も、「パソコンの分からない母親にも使えるインターフェースを作りたい」と思っていた。

だが、そのために機能性や使いやすさを犠牲にする、GNOME 3の考え方を、僕は信じない。

僕は普段、Fedora 26でMATEを使っている。MATEは動作も速いし、機能性もきちんとある。僕は、MATEでなければLinuxは使えないと思う。

たまにKDEを起動することはあっても、メインで使う環境にはならない。KDE/Qtアプリケーションの中に良いアプリケーションがない。

だから、きっとGNOME 4が出ることがあったとしても、GNOME 3をMATEと同等に維持するような、そんなプロジェクトがあっても良いのかなと思う。

GNOMEKDEの二大戦争

GNOMEKDEの二大戦争を悪いという人が居る。開発リソースの分散になって、どっちも転ぶだけだと言う。

僕は、むしろ、その通りだと思う。

GNOMEは、Mac風にメニューを二大パネルにしたぐらいから、KDEと違う独自のデスクトップ環境へのデザイン・設計の道を歩み出したと思う。

あの当時、僕は、「素晴らしいデスクトップ環境が2種類もあって、多様性がある」と思っていた。

あの当時のLinuxは、Mozilla Suite(SeaMonkey)やFirefoxなど、ブラウザにも個性があって、独自性があった。

だが、GNOME 3が出て、KDE 4が出て、一気にLinuxは悪くなった。それまでの独自なデスクトップの個性を失い、無個性なものになった。

KDE 4は、僕は最初は「本当に美しい」と思って好きになったが、Plasma 5が出て、フラットな表示になってから、「美しいようでいて、ただ無個性なだけ」だと僕は思った。

むしろ、KDE 3の方が個性があって良かったのかもしれないと今思う。

本当に、GNOMEKDEは、僕はどちらも悪いと思う。GNOMEアーキテクチャ指向で、KDEがモダンデザイン指向なのは分かるが、どちらの考え方でもない、新しいデスクトップ環境を作ってほしい。

だが、そうした「X11の多様性」を生み出したのは、他でもないKDEGNOMEの開発者だ。そこは、賞賛してしかるべきだろう。

僕は、昔からGNOMEKDEはどちらも好きだ。どちらかが良いものになって、もう一方もさらに良いものになる。それで、頑張ってほしい。

ただ、それで終わりとしたいところだが、僕は不幸にも、これ以上KDEGNOMEは良いものになりようがなく感じてしまう。

ある意味、LinuxGUIはもう、最後まで行きついてしまったところがある。これ以上、新しいものを考えることが出来ない。

ジョブズが居たら、なんて思うだろうか。むしろ、簡単に新しいものを作って「ハイ、これが次世代の革新です」と言うかもしれない。

だが、今のWindows/Linuxの開発は、もう行き着いてしまったと思う。これ以上、新しいものが出るような気がしない。家庭用ゲーム機と同じ、衰退への道を歩むのではないかと思う。

僕が思うに、アラン・ケイの発想をもう一度再考するしかないと思う。Ubuntuにそれをやってほしい。Ubuntuなら良いものが作れるかもしれない。オープンソースの良いところは、誰でも開発に参加出来るところだから、Ubuntuでなくても、他の開発者が作っても良い。だが、マイクロソフトの資金力で作れば、またありえないものが生まれる。だが、それできっと良いものは生まれないと思う。

GNOMEは賢い代わり遅い

GNOMEには、CORBA(最近ではD-Bus)によるコンポーネントの埋め込みとネットワーク通信、テーマエンジンやエクステンション、各種言語へのラッパーなど、とても賢い点が多いのだが、その分、処理速度が遅いという難点がある。

そもそも、GNOMEではintやポインタ型すら、オブジェクトの1つとして扱うためにgintやgpointerのような型を使うようになっている。そうした「オブジェクト指向の賢いデスクトップ環境」や、X Window Systemの「ネットワーク透過」まで、たくさんの賢い点があるのだが、いかんせん、GNOMEデスクトップ全体を遅くしている。

だが、最近のコンピュータリソースの処理速度の向上には目を見張るものがあり、GNOME 2のforkであるMATEを今のパソコンで使うと、とても軽く高速に動作する。

さらに問題を大きくしているのは、KDEとの連携である。KDEはさらにグラフィックスの綺麗さや豪華さに力を入れており、GNOMEより起動が遅く、メモリを食い、不安定で動かない環境もある。だが、使っていると、KDEの方が快適である。これは、GNOMEの、「機敏さはなくてもきちんと安定して動く」という「きちんと動く」特徴とは対照的である。

COMという技術のオリジナルではあるものの、GUIウィジェットツールキットとウィンドウシステムとカーネルが統合されている、「統合されたWindows」はとても使いやすい。Microsoftがいつも言っていたように、Windowsの大きな特徴は「統合」である。これは、GTK+とQtが共存して醜い不統一のツールキット環境を生み出した、今のオープンソース陣営が見習わなければならない特徴である。Windowsは醜いAPIをしているが、その分高速で機敏に動作する。昔より安定しているのは、その上で.NETというJavaと同様のVM環境にしているからである。Windowsが勝利するのは、GNOME 3を使えば良く分かる。Linuxがシェアを奪えないのは、GNOMEを知っていれば、当たり前である。

ちなみに、Javaは処理速度を優先して、値型を導入した。GNOMEは昔からWindowsで動くJavaよりも遅いが、それはgintを導入し、全面的に賢くしすぎたためではないかと僕は思う。逆に言えば、みんな、GNOMEの賢さを理解できていない。GNOMEは最高の設計をしているのに、誰にも見向きもされない。昔から、そういうものである。

GNOMEも遅すぎるという性能の遅さを昔から分かっていて、最近ではXMLベースだったGConfをバイナリブロブのdconfに変更するなど、きちんと頑張って高速化している。.NETのVMが必要だったMonoを、最近ではCにコンパイルするValaに変えている。そもそも、GNOMEはきちんと動くことなんか目指していない。ただ、賢いアーキテクチャを目指しているのは、そもそもが昔のWindowsのCOMのような言語・プラットフォーム非依存のネットワーク通信をやりたいからであり、そもそもWindowsとの連携を模索している。だから、頑張って高速化するための努力をすれば、きっと速くなるだろう。Mozilla Firefoxがやったように、機能を全て拡張機能に頼って、シンプルで軽快なデフォルトの状態を維持する、という仕組みは、GNOME 3で大々的に導入された。だが、これは不評である。それは、デフォルトの状態が「全くと言って良いほど使えない」からである。最低品質のデスクトップ環境になったとよく言われる。だが、GNOME 3は最近、「慣れると使いやすい」と言われるようになってきた。それは、拡張機能を入れればWindowsのように使えるし、入れなくてもスマホのような分かりやすいGNOME-Shellのインターフェースが、スマホ時代の今の人間たちに好評だからである。だが、僕としては、もう少しUIを整理してほしいと思う。アプリケーションによってメニューバーがあったりなかったりするのは、良いことではないと思う。GNOMEは遅いだけではなく、デザインが未熟である。昔から、「最も醜い感じを受けるデスクトップ」は、いつでもLinuxGNOMEである。

また、WindowsLinuxには、「気質の違い」というものが存在する。Windowsは、効率のために何でも統合させたがる。カーネルWindowsGUIを統合し、グラフィックス処理も統合し、IEExplorerと統合する。このため、目に見える部分では軽快で高速だが、目に見えないセキュリティホールやバグが多く、Officeのような巨大アプリケーションは良く不安定になる。GNOMEでは、そういうものを全部独立したコンポーネントにした上で、それぞれが開発するようにプロジェクトそのものを独立させ、カーネルにグラフィックス処理を統合せず、X11GTK+/GDKに分離させる。このため、目に見えて遅くなる。特に、独自のXULという技術を使っているMozillaなどは、起動に時間がかかりすぎて、反応すらしていないように思われることもある。だが、Windowsが必ずしも不安定かというと、そうでもない。Microsoftは.NETを開発し、またWindows NT時代にカーネルを書き直したこともあって、最近は安定している。Linuxが最近不安定なのは、Ubuntuなどが使い勝手を優先するコードをたくさん書いていて、自動認識を多くするようになったことで、複雑性が増えてかつ想定できない事態が発生しても簡単に直せなくなったり、あるいはオープンソースソフトウェアが増えすぎたことや巨大になったことで、Linuxの一般的な開発者の数だけでは全てを見通すことができず、Red Hatなどの会社に頼るようになって、Windowsのやり方と変わらなくなってきたからではないかと思う。そもそもGNOMEが遅いというのもあるが、LinuxカーネルGCC/Glibcなども複雑化してきており、X11も昔よりモジュラー化が進み、どんどん複雑かつ高度になったことで、昔のMulticsと全く同じ「高機能化に伴う馬鹿」が増えていることで、「全てのコンポーネントがどんどん悪くなっている」というのがあると思う。それこそ、最近はAndroidが普及したこともあって、必ずしもLinuxがウィルスやセキュリティホールとは無縁ではなくなった。逆に、昔のRed Hat Linuxなどをそのまま使っているサーバーが、アップデートを怠っていることで、Linuxセキュリティホールの拡大にとても大きく加担しているのである。Linuxはセキュアではないし、安定もしていないし、軽くもない。GNOMEは劣悪で、KDEは使っている人間が居ない。結局、そのように負け続けているのが、今のLinuxデスクトップの、誰でも分かる現状である。

ただ、言っておくと、最近はGNOME 3は本当はそんなに遅くない。本当に、Gconfをdconfにして、CORBAをD-Busに変えたせいで、速くなっている。X11はwaylandに変わって軽くなるだろう。Linuxデスクトップは、最近、Ubuntuの影響で、どんどん「初心者でも使いやすい」ものになっている。特に、日本人ユーザーが知らないこととして、海外ではLinuxはとても好意的に受け入れられている。それは、僕の英会話学校の講師が喜々としてLinuxの話題を出すようにである。そもそも、海外にはLinuxのような工業製品が多い。日本ほど、レベルの高くないものが普通なのである。日本のSONY東芝の製品が出来すぎているだけで、海外ではとても低額で使えるLinuxのような製品がたくさんあるのである。2ちゃんねるだけを見ていると、そういう発想が分からなくなる。日本人は賢いから、Linuxを使わないのである。

GNOMEはサルが好き

GNOMEプロジェクト創設者のミゲル・デ・イカザ氏が猿が好きなことから、GNOMEプロジェクトのアプリケーションには良く猿の名前がつけられている。BonoboやXamarinなどがこれに当たる。

イカザ氏はXimianというGNOMEアプリケーションの開発とサポートを行う企業を立ち上げ、.NET FrameworkUNIX環境に実装したMonoなどを開発した。その後XimianNovellやそれ以後の企業に買収され、Monoチームは存在の意義を疑われてレイオフされた。そのため、Xamarinという新しい会社を作り、.NET FrameworkiOSAndroidのアプリケーションを開発できるXamarinと呼ばれるソフトウェアを開発した。これが功を奏し、MicrosoftによってXamarinは買収された。現在はMonoチームの仲間と一緒にMicrosoftに居るはずである。彼はGNOMEの創設でCORBAを導入したほか、Midnight Commanderと呼ばれるCUIベースだがメニュー選択でファイルを操作できるファイルマネージャや、GNOMEのGnumeric表計算ソフトなどを開発し、多くのオープンソースプログラマーから「スーパーハッカー」として著名である。

後日注記:開発者のミゲルやその仲間たちがメキシコ人であることから、GNOMEは「メキシコ発のデスクトップ環境」として知られる。KDEはドイツ発祥であることから「ドイツ発のデスクトップ環境」として知られる。それぞれの個性が全く違うことからよく対比される。

GNOMEオブジェクト指向ナウいデスクトップ環境だがWindowsのパクリ

GNOMEは、「オブジェクト指向のデスクトップ環境」とよく言われます。

これは、GTKがGLib/GObjectという「オブジェクト指向のシステム」に従って設計されており、完全にオブジェクト指向の論理的・コンポーネント的なデスクトップ環境だからです。

同時に、GNOMEは「Windowsのパクリだ」と言って批判されることがありますが、それは言葉通り正しいです。そもそもCORBAはWindowsのCOMが原形であり、分散コンポーネント通信システムをオープン標準で定めたものです。

ですので、「UNIXWindowsをベースに、よりそれらシングルホストOSをPlan 9OpenVMSのような分散環境に近づけた、オープン標準なデスクトップ環境」であると言えます。

GNOMEプロジェクト創設者のミゲル・デ・イカザ氏はUNIXにおけるオープンソース.NET FrameworkであるMonoや、Excelライクな表計算ソフトであるGnumeric、メニュー式ファイルマネージャのMidnight Commanderなどの開発で知られており、GNOMEデスクトップをサポートするXimian社の設立でも知られていることなどから、明らかにWindowsの影響が見られます。Ximian社はほかにも高機能メール・グループウェアクライアントであるEvolutionや、GNOME/Bonoboの開発で知られます。UNIXWindows並みに「マシなものにしよう」という情熱が、彼らの作るソフトウェアプロジェクトから見ることができます。

GNOMEデスクトップの概要

GNOMEは3から新しくなり、GNOME Shellと呼ばれる独自のインターフェースを備えるようになった。

GNOME Shellは、左上の「アクティビティ」バーを中心に、簡単で分かりやすいインターフェースを備える。

今までの「Windowsと良く似ているUI」ではなく、独自のスマートなUIとして開発されたが、あまり評判は良くない。なぜか、賢いUIなのに使い勝手がとても悪い。だが、エクステンションを入れることで、使い勝手は改善できる。

アプリケーションは、メニューバーや機能をざっくりと削除するなど、大胆なインターフェース設計をしているが、これも評判が良くない。「低機能になった」と言われることが多い。

だが、FirefoxGoogle Chromeなどに見られるように、メニューバーの削除はある意味最近の流行りである。GNOMEの特徴である「シンプルで易しい(初心者向けの)UI」が目標とされている。また、高機能なアプリケーションではメニューバーが存在していることが多い。

UbuntuのUnityなどでは、Mac風の「上にアプリケーションメニューがある」UIをやっているが、Ubuntuは最近GNOME 3に戻った。

また、Mac風のDockを使いたい場合は、エクステンションをインストールしたりすることで実現できる。エクステンションで拡張できるのはある意味画期的で、「どんなUIにもなれるデスクトップ」にはなっている。Avant Window Navigatorなどを入れても良いだろう。

昔のGNOME2が良かった、昔のGNOME2を使いたい、という場合は、MATEと呼ばれるGNOME2のforkが存在する。また、Cinnamonという、GNOME3のままでWindows XPライクなUIを持つ新しいデスクトップ環境も登場している。

メニューバーとタスクバーがなくなった

GNOME 3の開発者は、メニューバーとタスクバーを無くし、アプリケーションの起動やウィンドウの切り替えをアクティビティバーに統合した。

慣れるまでは操作が難しいかもしれないが、慣れるとあまり使いづらくない。

また、拡張機能を入れることで、タスクバーを復活したり、macOS/Windows 10風のDashにすることもできる。メニューバーについては、主要アプリケーションの操作が分かりやすくなったほか、高度な専門的GUIアプリケーションについては引き続きメニューバーを利用できるため、そんなに違和感がない。

また。GNOME-Tweak-Toolを入れることで、最大化ボタンを復活させたり、拡張機能を管理したりすることができる。

一時期GNOME 3に反発してXfceに移っていたリーナス・トーバルズも、GNOME 3が改善されたとしてGNOME 3に戻っている。リーナスは「GNOME-Tweak-Toolを(最初から)含めるべき」と言っている。

GNOME 3の評判はいまひとつだが、中には熱心な愛好家もいて、「画面がすっきりして余計なものがなくなって分かりやすくなった」とか、「拡張機能を入れれば何とか使える」などといった意見もある。

かつては初心者向け・シンプルデスクトップの代名詞だった

今でこそ、独自のモダンでスマートな拡張指向のデスクトップ環境となったGNOME 3ですが、GNOME 2の頃は、シンプルかつ初心者向けの代名詞でした。

アイコンやボタンを大きくして、分かりやすい絵のアイコンを採用し、簡単に使い方の分かる、Windows風のアプリケーションメニューかつMac風のトップバーを採用。上にも下にもバーがあるデスクトップとして有名でした。

この「初心者向け」という哲学には批判もあり、リーナス・トーバルズからも「ユーザーを馬鹿だとみなすGNOMEの姿勢は根本的に誤りである」と言われました。

それでも、標準のデスクトップ環境が初心者向けでシンプルであることは大きな優位性でした。

KDEよりも起動も早く、今でもGNOME 2をforkしたMATEがありますが、MATEは今のデュアルコアの64bitプロセッサで使うと、とても軽いです。

今のGNOME 3も、こうした初心者向け路線の継続である点があります。たとえば、標準のGNOME 3には、アクティビティバーだけがあり、ユーザーは「アクティビティをクリックする」ということが分かれば、あとはアプリケーションのアイコンが大きく表示され、ウィンドウ一覧も最大に表示されるため、分かりやすいのです。慣れるとこちらの方が使いやすいと言われることもあります。

また、GNOMEが標準に選ばれるのは、単に初心者向けなだけではありません。CORBAあるいはD-Busを用いた「分散ネットワークオブジェクトモデル」や、CのGTK APIC++PythonJavaScriptなどへの「言語バインディング」によって、開発の多様性があります。こうした「プログラマにとって賢くて、なおかつ初心者向け」という路線で、KDEと対峙してきたのです。逆に、昔からデザインが醜く、KDEの方がデザインや機能性は高いという弱点もあります。

馬鹿でも簡単に使えて、真の意味で使いやすいデスクトップ環境

GNOMEは、よく「ユーザーを馬鹿だとみなしている」と言われて批判されますが(これはリーナス・トーバルズの言葉)、実際は「馬鹿でも使えるぐらい分かりやすいデスクトップ環境」を目指しています。

対象は、Windowsも使うことのできないパソコン初心者ユーザーです。パソコン初心者が分かりづらいと思う点をできるだけなくし、使い方を覚えやすくします。

そのため、デフォルトではメニューバーもタスクバーもなく、アクティビティバーをクリックすることだけを覚えれば、あとはスマホのインターフェースと同じように、アプリケーションアイコンをシングルクリックするだけで使えます。UNIXに多く存在するような、複雑で分かりにくいシステムを極力なくしています。デフォルトで、最低限の使い方を学べる動画のマニュアルが最初に表示されます。日本語入力環境の導入も、iBusが統合されているためGUIだけで行えます。

デスクトップとしては、そうしたアクティビティメニュー(アプリケーションランチャー、ウィンドウ切り替え、仮想デスクトップなどのほとんどの機能を兼ねる)と、通知メニューしか提供していません。背後のGNOMEアーキテクチャとしては、分散オブジェクト指向の環境を提供していますが、ユーザーにはそうした内部のシステムが隠蔽されており、知らなくてもスマホライクに簡単に使えるようになっています。最大化ボタンや最小化ボタンもなく、閉じるボタンだけが用意され、macOSと同じようにタイトルバーをダブルクリックして最大化を行えます。こうした使い方はデスクトップに最初にログインした時に表示される動画のマニュアルで数分で学べます。

デフォルトのアプリケーションについても、シンプルさが追求されています。デフォルトでは、低機能で簡単に使えるシンプルなアプリケーション群しか提供されていません。ゲームなどは最初から入っていますが、多くのディストリビューションでは、Mozilla FirefoxLibreOfficeOpenOffice.orgの後継)がバンドルされているぐらいで、あとはソフトウェアというGUIのパッケージ管理ツールで、ガイダンスにそって簡単にアプリケーションを導入できます。

しかしながら、GNOMEは使いやすいデスクトップ環境を目指しており、拡張機能を使うことで、自分でデスクトップ環境の操作や配置を自分らしく自分が使いやすいようにカスタマイズできるようになっています。低機能なアプリケーションしか存在しないかと言えばそんなことはなく、ソフトウェアと呼ばれるパッケージ管理ツールから、とても多くの高機能なアプリケーションを使用可能です。GTKはQtよりも広く使われているため、一部のKDEアプリケーションを除いて、多くのGTKアプリケーションが統一・統合されたルック・フィール(ボタンやメニューなどの見た目や使用感)で利用できます。

同時に、GNOME2は多くのユーザーから「Windowsのパクリだ」と言われていました。スタートボタンと同じアプリケーションやファイルシステムのバーがあり、タスクバーとメニューバーの見た目はWindows 95とまったく同じでした。しかしながら、GNOME3は独自のデスクトップ環境を目指しています。そのため、ほとんどのデスクトップ環境が目指しているのとは違って、ウィンドウ一覧を切り替えるタスクバーもありません。しかしながら、拡張で自分でカスタマイズすることができます。Windows 9x/2000/XP風にすることも、Windows 7/10風にすることもできます。

GNOME 3の気持ち悪さは、拡張指向にある

GNOME 3の気持ち悪さはどこにあるのかといえば、「デフォルトをシンプルにし、機能を拡張で追加する」という拡張指向にあると思います。

GNOME 3は、デフォルトで何も機能がなく、拡張やTweak Toolを入れなければ全く使えません。そして、その拡張は自分で入れろと言うのです。

GNOMEアプリケーションについても同様で、デフォルトのアプリケーションには何もありません。自分で高度なアプリケーションを入れて使えと言うのです。

僕は、Mozilla Firefoxによってはじまった、このような「なんでもかんでも拡張を入れて使うシステム」は大嫌いです。なぜなら、「最低限のソフトウェアを入れて、ポートも開けず、サービスも停止する」という、ミニマム化の理想の逆を行っているからです。

特に、iPhoneAndroidを使っている方は、たくさんのアプリを入れているとは思いますが、その多くは普段使うものではなく、インストールしたが使わなくなって、削除するのが面倒だから残している、というものが多いでしょう。このようなシステムには、セキュリティ上の問題があるだけではなく、あとで正しく管理することも大変です。ミニマム化すべきなのです。

そもそも、導入すべきでないものを導入しろと言うから、気持ちが悪いのです。導入しなければ使い物にならないのであれば、誰もそんなデスクトップ環境は使いたくありません。

言ってしまえば、LibreOfficeすら、デフォルトでインストールすべきではありません。自分でソフトウェアを導入し、どのように導入し設定したかをきちんと把握する、それが正しいソフトウェアシステムの姿ではないかと僕は思います。

後日注記:たとえば、Firefoxの拡張は怪しい拡張を入れると不安定になることがあるし、GNOME 3をデフォルトで使わず拡張で使う場合、その拡張を導入した環境の責任は自分で取ることになる。最初から拡張機能やTweak Toolをプリインストールで搭載していた方がはるかに良いと僕は思う。

なぜWindowsMacと同じものを目指すのか

実際、GNOMEKDEのような統合デスクトップ環境は、「WindowsMacと同じものを目指している」という気持ち悪さがあります。

Linuxは、そもそもエンジニアやシステム管理者向けの、ある意味「オタクにしか分からない文化」が面白かったのであり、それをWindowsMacと同じものにしようとすると、当たり前にそれらと同じ欠点を受け継いでしまいます。

GNOMEKDEは、Windowsが重くてフリーズして不安定で動かなかったのと同様に、バグが多くてもっさりして不安定です。どんなに改善しても、「LinuxWindowsより軽くない」という評判がぬぐえません。

しかしながら、GNOMEKDEの開発者はこうした声を知っており、WindowsMacとは違った異なるデスクトップ環境を最近は目指しています。なので、最近のGNOMEWindowsよりもMacスマホに近いです。昔からMac風でしたが、最近はMacからも外れた「とても異質な環境」になっています。KDEも同様に、Windowsとよく似ていたルック・フィールを改め、「WindowsMacよりもさらに美しいデザイン」を目指しています。