Solaris 10 と Cygwin/X

さて、ビデオカードの無い Sun 280R なのですが、Cygwin/X と組み合わせて使うことにしました。Windows の上で Cygwin/X を動かし、この Windows が動いている PC をいわゆる X端末として使うのです。


まず、Sun 280R 側の設定をします。フォントサーバ (xfs) とディスプレイマネージャ (xdm) を動かしますが、インストールした直後だと日本語フォントの設定が抜けているので、/usr/openwin/lib/X11/fontserver.cfg を編集します。


具体的には ‘catalogue = ‘ の部分に以下のパスを追加します。


/usr/openwin/lib/locale/ja/X11/fonts/TT/
/usr/openwin/lib/locale/ja/X11/fonts/TTbitmaps/
/usr/openwin/lib/locale/ja/X11/fonts/75dpi/
/usr/openwin/lib/locale/ja/X11/fonts/UTF8/


この修正を行ってから xfs 、xdm を動かします。xfs の方は Solaris 10 から SMF (Service Management Facility) で管理され、また Upgrade インストール後は自動起動するようになっていました。なので、”svcadm refresh xfs” とすれば設定ファイルを読み直してくれるはずです。 (私の場合、安易に OS 再起動してしまいました…) xdm の方は root になってコマンドラインから引数なしで実行します。


Solaris 側の準備はこんなところで、次はWindows の方ですが Cygwin/X をインストールしてから、以下のようなバッチファイルを作ります。この内容は Cygwin/X に含まれる startxwin.bat を参考にしています。
SET CYGWIN_ROOT=\cygwin
SET PATH=.;%CYGWIN_ROOT%\bin;%CYGWIN_ROOT%\usr\X11R6\bin;%PATH%
start XWin -clipboard -emulate3buttons -fullscreen -query solarishost -fp tcp/solarishost:7100


ここで solarishost は Solaris サーバのホスト名(あるいは IP アドレス)です。このバッチファイルを起動すると Windows 上に Solaris のログイン画面が表示されるようになります。


本来設定はここまですれば良いのですが、この先ちょっとした問題にハマりました。


この環境をつくってからしばらくは CDE を使いログインしていたのですが、せっかくなので Java Desktop System (JDS) を使いたくなりました。JDS をインストールし、ログイン画面のオプションでセッションを JDS としてログインします。


すると、次のようなエラーが出て、キーボードが効きません。
XKB 構成をアクティブ化しているときにエラーが発生しました。
おそらく、libxklavier または gnome-settings-daemon の内部的な問題であると思われます。
(中略)
この状況をバグとして報告する場合は、次の結果も報告してください。:
– xprop -root | grep XKB の結果
– gconftool-2 -R /desktop/gnome/peripherals/keyboard/xkb の結果


「Java と言っても gnome なんだよな。ここら辺の知識はないし、日本語環境ってこともあるからなんか難しそうだ…」と思いながら、あちこちを検索してみました。


心配したものの解決策は思いの他簡単で SunSolveからパッチ 119542-01 を入手して当てるとエラーはそのまま出力されるもののキー入力はできるようになりました。このパッチの情報に “Problem Description: 6239595 keyboard does not work when remote logged in from linux to sparc” とあります。ただし、このパッチは SPARC 版用で “This patch available for x86 as 119543” だそうです。


XKB のエラーはそのままですが、どこか(すみません。場所はなくしてしまいました。英語の掲示板と Sun のドキュメントの両方で見たような記憶があるのですが…)にこのエラーは気にしなくて良いというようなことを書いてあったので気にしていません。


教訓としては、「きちんとパッチを当てよう」ということですね。