LinuxのCUIとGUI、デスクトップ環境を理解しよう
GUIと“デスクトップ環境”の違いは何?
「Linuxといえばコマンドライン」というイメージを持っている方は多いかもしれません。実は、Linuxには広大なGUIの世界が広がっているのです。ここからは、LinuxのGUIとデスクトップ環境を説明していきましょう。
X Window System
UNIX系のOSでは、GUI環境を作るのに「X Window System」を利用します。昨今のLinuxディストリビューションでは、後述する「デスクトップ環境」としてまとめてインストールして使用するのが一般的です。従って、X Window Systemを意識することはあまりないかもしれませんが、大まかな仕組みだけは把握しておきましょう。
X Window Systemは、マウスやキーボードからの入力や画面への出力を受け持つ「Xサーバ」と、実際の作業を行う「Xクライアント」に分かれます。Windowsを含む一般的なサーバにおける“Webサーバ”や“ファイルサーバ”では、ユーザーが使用する側が「クライアント」ですが、X Window Systemの場合はユーザーが触れる側が「サーバ(Xサーバ)」になる点に注意してください。
Xサーバは、マウスやキーボードからの入力をXクライアントに伝え、Xクライアントからの指示に従って画面の描画を行います。
XサーバとXクライアントは同一マシン上になくてもよく、ネットワークで接続された別のマシン上で動かしても構いません。「Xプロトコル」というXサーバとXクライアント間の通信規約に対応しているソフトであれば、お互いが動作しているOSも問いません。
X Window Systemでは、処理能力の高い大型汎用機側でXクライアントのソフトウェアが動作し、ユーザーが直接触れる端末側では表示と入力だけ行う、という使い方ができるようになっているのです。
Xサーバ側、つまりユーザー側にログイン画面を示してクライアントとのやりとりを開始する部分を担当するのが「Xディスプレイマネジャー」です。具体的には「xdm」や「gdm」「kdm」などがあり、“ログイン画面を設定する”といったときに、こうした名前が登場するかもしれません。
ウィンドウマネジャー
画面を表示してマウスで操作するという部分で、大きな役割を果たすのが「ウィンドウマネジャー」です。これも、昨今のLinuxディストリビューションでは“デスクトップ環境”としてまとめて提供されています。
ウィンドウマネジャーは、ウィンドウの位置や見た目を決めるもので、例えば「ウィンドウにはタイトルバーがあり、ソフト名や開いているファイル名が表示されている」「ウィンドウのサイズを変更することができる」「右上にウィンドウを閉じるためのボタンがある」など、ユーザーインタフェースの重要な部分を決定しています。閉じるボタンの位置が気に入らなければウィンドウマネジャーの設定、あるいはウィンドウマネジャーそのものを変更すればよい、というわけです。
デスクトップ環境
ウィンドウをどのように表示するかだけではなく、アプリケーションソフトを起動する方法(Windows環境でいえば“スタートボタンを使うかどうか”など)や、画面全体をどのように使うかなどをまとめたものが「デスクトップ環境」です。
少し話がそれますが、現在のWindows環境で「デスクトップ」と呼ばれている場所は、Windows 3.1(1993年に日本語版が発売)のころは単なる“壁”であり、ファイルやショートカットなどを置くことはできませんでした。画面に表示されるのはウィンドウと、ウィンドウを最小化したときのアイコンだけで、後は好きな画像を“壁紙”として表示できる程度でした。
現在のように机の上に本を広げたり、何かものを置いたりするような感覚で作業できる“デスクトップ”が登場したのは、Windows 95(1995年発売)からになります。デスクトップにファイルを置く、そのアイコンを別のウィンドウにドラッグ&ドロップするといった操作ができるのもデスクトップ環境ならではです。
さて、Windowsユーザーでしたら、“デスクトップテーマ”を利用して壁紙や画面の配色、操作音などをまとめて変更した経験があるでしょう。これに対し、Linuxで“デスクトップ環境を選ぶ”ことは、見た目のみならず、「Windowsでタスクバーやスタートボタンを使うかどうかを決める」といったイメージになります。もちろん、見た目も変わります。
Linux環境で広く使われているデスクトップ環境は「GNOME(グノーム、ノーム)」と「KDE(ケーディーイー)」の2つで、多くのディストリビューションがこのどちらかを採用しています。この他、軽量化を重視して設計されている「LXDE(Lightweight X11 Desktop Environment)」や「Xfce(エックスエフシーイー、エックスエフシー)」、GNOMEから派生した「MATE(マテ)」や「Cinnamon(シナモン)」などがあります。
ディストリビューションによって、採用されているデスクトップ環境は異なります。例えば、CentOS 7では、インストール時にGNOMEとKDEを選択することができます(画面3、画面4、画面5)。
また、Ubuntuのデスクトップ環境は「Ubuntu Unity」になります。Ubuntu Unityは、Ubuntu専用に開発されており、タブレットやスマートフォンでの使用も想定したデザインとなっています(画面6)。