俺のメインの端末はMacBook Kuroである。当然OSはLeopard(10.5.2)が搭載されている。OSXのGUIはAquaと呼ばれる専用のものであるが、X11.appのおかげでX Window System互換のアプリケーションも実行可能である。
X Window System(以下たんにXと呼ぶ)には遠隔のホストにGUIを転送するという機能が、なんと設計当初から備わっている。イメージ的には以下のように画面の描画を遠隔ホストにリクエストする仕組みだ。遠隔ホストの指定がなければ、同じホストにあるXサーバプロセスに描画のリクエストが出される。
頑張って絵を描いてみたが、WikipediaのX Window Systemのページを見た方がが分かりやすいかも知れない。
昔はマシンパワーも非力であり、ネットワークを使用していないのにオーバーヘッドがあったりしたためXの描画にはなかなか満足することは出来なかった。しかしながら時代は流れ、ブロードバンドが当たり前になってくるとLANどころかインターネット経由でもそこそこ快適に使えるようになってきた。特にsshによるトンネルを経由すれば通信経路も暗号化されるので安心して使える。ちなみに設定は非常に簡単だ。
- /etc/ssh等にあるsshd_configでX11Forwarding=yesに設定する。
- sshを起動するときに-Xオプションを使用する。
Xはプラットフォームに依存しないプロトコルであるため、異なるOSの画面を描画することが可能である。手元にはMac、Solaris、Linuxがあるが、どれをローカルorリモートにしても正常にX対応アプリを描画することが可能である。
さらに、様々なアプリケーションでGTKやUnicodeなどの比較的互換性が高いコンポーネントが使用されるようになったため、フォントの問題も解決しつつあるように思う。以前はXを使って違う種類のOSから描画を行うと文字化けをしばしば目にしたが、最近そのようなことは滅多にない。Unicodeも登場時点では使い物にならない代物であったが、年月を経て今やメインストリームとなり、当初の目的を果たすようになってきた。(現在消えつつあるのはEUCであろう・・・合掌!)
おかげでXがすこぶる快適である。
0 件のコメント:
コメントを投稿