X Window System

X Window System とは

X Window System (Window は単数形!)とは,UNIX系OSで利用されるほとんど唯一のGUI(Graphical User Interface)環境である。X Window や,単に X と呼ばれる。
マサチューセッツ工科大学(MIT)のAthena Widget Projectが中心となって開発された。現在ではX.Org が開発を行っている。

特徴は,クライアント・サーバモデルに基づいたシステムということである。

Xサーバ
ひとつのディスプレイに一つずつ存在し,画面への描画・入力の監視・ウィンドウの管理などを行う。
Xクライアント
X上で動作するアプリケーションを指す。

紹介した KNOPPIX や ubuntu のように,1台のコンピュータでアプリケーションを動かし,表示も同じコンピュータで行う場合は,Xサーバ,Xクライアント共に同じコンピュータで動いている。この場合はサーバとクライアントの役割は見えにくいが,次のようにリモートで操作する場合には,それがはっきり見えてくる。
ネットワークを介して使用する場合,画面の管理を行うのはユーザが直接操作しているPCであるから,自分の側にXサーバがあり,クライアントは接続先にあるアプリケーションということになる。

WWWやメールなどのクライアント・サーバモデルでは,サーバは「遠く」にあり,そこにクライアントである自分の方から要求を出すというのが一般的である。X Window System のクライアント・サーバモデルは,それとはかなり異なるので混乱しないように注意すること。

岡山大学の教育用環境での使用方法

  1. Cygwin-X から XWin Server を起動する。
    (これにより,PC側で X Server が常駐する)
  2. XWin Server と同時に起動した端末ソフトで
    ssh -X 別名ID@www.edu.cc.okayama-u.ac.jp
    と入力し,SSH で www に接続する。
  3. 接続完了後,端末で次のコマンドを入力してみる。
    xlogo
    xclock
    xeyes
    emacs
    xterm

このように,Microsoft Windows で X を使用する場合,Microsoft Windows 上でXサーバを起動して,リモート先でXアプリケーションを起動する。このXサーバがXWin Server であり,Xクライアントが xlogo や xclock である。
Xサーバには,Cygwin-X の他に X-Win32 やフリーの Xming などがある。

現在ではMS Windows でも,リモートデスクトップなど GUI で他のコンピュータを操作する仕組みがあるが,UNIX 系では20年以上前からこのような仕組みが用意されていた。

補足

岡山大学の教育環境で使用している Cygwin は,Microsoft Windows で動作するフリーのUNIX系の環境である。Cygwin と Cygwin-x を自分のPCにインストールすれば,岡山大学と同様に使用できる。

岡山大学の外から接続するには,Linux の基本操作の学外からの接続方法で説明しているように,秘密鍵を設定しTeraTermを使用すればよい。

学外から X Window を使いたい場合は,Cygwin-X をインストール後,作成した秘密鍵をCygwinのホームディレクトリに置き,xterm で

ssh -X -i id_rsa -p 2022 (岡大ID)@www.edu.cc.okayama-u.ac.jp

とする。