Assyのリベラル文学研究所もご覧ください。

X11

XFree86X.org

Intel i386用のフリーなXサーバーの実装は、以前はXFree86として知られていました。Linuxでは、長い間XFree86を標準のXサーバーとして利用してきました。
昔のRed Hat Linuxの書籍などを見ると、設定ファイルやログファイル、コマンドやツールなどの名前に、XFree86の言葉を見ることがあります。
XFree86は、プロジェクトのごたごたからX.orgがforkして生まれ、XOrg Serverという新しいXサーバーになりました。この時、XFree86関連の言葉は削除されました。
そのため、昔のホームページなどは、Xの設定ファイルをXF86Configという名前のままでサンプルとして掲載している場合があります。xorg.confという名前では検索してもヒットしない情報でも、XF86Configという名前ならヒットする場合があります。
X.orgでは、設計のモジュール化が進み、ハードウェアの自動認識技術が向上したりしています。

freedesktop.org

また、X.orgなどが参画して作られたプロジェクトに、freedesktop.orgがあります。これは、フリーソフトウェアをデスクトップ用途で使う場合に必要となる技術の開発促進を目指しています。
freedesktop.orgでは、さまざまな下部プロジェクトが生まれています。ベクターグラフィックスAPIのcairoなどがこれに当たります。また、GNOMEKDEの相互運用や共通化も図られ、アプリケーションメインメニューの設定項目の仕様などの共通化が行なわれました。ほかにも、たくさんのフリーなデスクトップ関係のプロジェクトが生まれています。

MIT/Xライセンス

Xのライセンスには、MIT/Xライセンスが使われています。これは緩やかなフリーソフトウェアライセンスで、GPLのようなコピーレフトのライセンスではありません。GNUが述べるように、Linux上のX11がフリーで配布されていたからといって、派生ソフトウェアの商用のX11がフリーで使えるとは限りません。多くの商用UNIXでは、プロプライエタリX11が搭載されており、フリーに改造や再配布を行うことはできません。ですが、GNUが計画上、ウィンドウシステムを独自に実装するのではなく、既にあるフリーソフトウェアを積極的に使用しようとして、GNUではX11を採用することを決めました。
プロプライエタリに配布されるX11が必ずしもフリーではない、とGNUは主張しますが、MITライセンスではクローズドな商用ソフトウェアにX11コンポーネントの一部としてフリーにせずに組み込むことができます。このため、商用のOSの一部としてXを採用することができます。商用ソフトウェアとしては、使いやすいライセンスです。
同じことは*BSD系のフリーUNIXが採用しているBSDライセンスにも言えます(MITライセンスとBSDライセンスは条項などがほとんど同じです)。このため、AppleDarwinMacカーネル)やSONYのゲーム機であるプレイステーションなどには、BSDライセンスFreeBSDの技術が使われています。(DarwinではMachFreeBSDのコードを元に、オープンソースmacOSUNIXカーネルを開発しています。)

Xlib

X11とXアプリケーションのやり取りをするライブラリ。これを使うことで、Xプロトコルの詳細を知らなくてもXアプリケーションが作れる。GTK+やQtはこれを使って実現されている。内容はWindowsプログラミングと良く似たメッセージループを利用する。

XCB

XCB(X C Binding)は、X Window SystemC言語バインディングで、Xlibを置換することを目的としている。
ライブラリサイズを小さくし、単純化すること、Xプロトコルに直接アクセスすることを目的としている。

startx

Xサーバーを起動するコマンド。.xinitrcや起動スクリプトを実行する。
カスタマイズすることで、Xサーバーが起動する時に実行するアプリケーションやウィンドウマネージャを設定できる。

.xsession

端末のX画面(ディスプレイマネージャ)にログインした時に実行される初期化スクリプト

.xinitrc

startxでXを起動した時に実行される初期化スクリプト

セッションの選択

複数のデスクトップ環境をインストールしている場合、GDMなどのディスプレイマネージャでログインする時に、セッションを選択することができる。

twm

非常にシンプルな、X11標準のウィンドウマネージャ。

xterm

同じくシンプルな、X11標準のターミナルエミュレータ

色んなX11の付属アプリケーション

xclockは時計。X11にはこうしたさまざまなオマケアプリケーションがある。twmで使うと面白いのでぜひ体験してほしい。Xはtwmでxtermやxclockなどを使うと、軽くてカッコいい。

プログラム 説明
xlogo Xロゴを表示
xeyes 矢印を見つめる目玉を表示
xcalc 電卓を表示
xterm ターミナルを表示
xclock 時計を表示
glxgears OpenGLの歯車を表示(OpenGLのテストに使う)
xsnow デスクトップに雪が降る
xpenguins デスクトップにペンギンたちがやってくる
xplanet 地球あるいは他の惑星を表示
xearth 3Dの地球儀を表示
oneko デスクトップにマウスを追いかける猫が現れる

リモートのXプログラムを実行する

X11はネットワーク透過なクライアント・サーバーシステムであるため、SSHと同じようにリモートにあるGUIプログラムをローカルから通信して起動することができる。ローカルで動いているXアプリケーションと全く同じように操作することができる。
また、「WindowsからLinux上のリモートのXアプリケーションを実行したい」といった場合は、Cygwin/Xが使える(ただし僕は使ったことがないので良く分からない)。Cygwin/XはUNIXアプリケーションをWindowsで動かすことのできるCygwinに含まれているX Window Systemで、Windows上にUNIXAPIを構築し、その上でXを動かす。

VNC

X11のネットワーク等価なクライアント・サーバーシステムで上記のようにリモートのXアプリケーションを実行できるが、「デスクトップそのものを遠隔操作したい」という場合はVNCというソフトウェアがある。
オープンソースかつクロスプラットフォームで開発されており、OSを問わず遠隔操作が可能であるため、Windows向けにも使用できて便利である。LinuxからWindowsマシンを遠隔操作することもできる。