CDE と dtlogin 画面も使う

まずは、font のパスを追加。以下のファイルを変更する。

/usr/openwin/lib/X11/fontserver.cfg

そのまま上のファイルを変更しちゃうとあとで戻せなくなるので、 /usr/openwin/lib/X11/fontserver.cfg のファイルを/usr/openwin/lib/X11/fontserver.cfg.orig としてコピーする。
# cp -p /usr/openwin/lib/X11/fontserver.cfg 
/usr/openwin/lib/X11/fontserver.cfg.orig

catalogue= の行の最後に、下記のパスを追加。(カンマで区切って1行で記述)

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

dtlogin からちゃんと使えるように、以下のファイルを変更。

/usr/dt/config/Xservers

そのまま上のファイルを変更しちゃうとあとで戻せなくなるので、 /etc/dt/config ディレクトリを作成の後、そこに Xservers をコピーする。

# mkdir /etc/dt/config
# cp -p /usr/dt/config/Xservers /etc/dt/config/.

一番下にある、下記の行を編集する。

:0    Local Local_uid@console root /usr/openwin/bin/Xsun 0: -nobanner

:これを、

:0    Local Local_uid@console root /usr/X11R6/bin/X 0: -quiet

に修正。

次に、dtlogin 画面が日本語表示できるように修正。

/usr/dt/config/Xconfig

そのまま上のファイルを変更しちゃうとあとで戻せなくなるので、 /etc/dt/config ディレクトリに Xconfig をコピーする。

# cp -p /usr/dt/config/Xconfig /etc/dt/config/.

中ほどにあるコメントアウトされている1行を編集する。

# Dtlogin*Language:                 <lang>

これを、

# Dtlogin*Language:                 ja

これで、ノートPC起動時に dtlogin が表示される。

ここまでは順調なのですが、マシンを shutdown させたりするときに、コマンド行ログインに入りますが、ここで問題が出ました。通常は白いバックのコマンド行ログイン画面が出るはずなのですが、Solaris の標準の X で行っている処理を、XFree86 では行っていない部分があるため、ビデオチップメーカによっては、コマンド行ログイン画面が正常に表示されず、真っ黒くろすけ(画面に何も表示されない)になる場合があります。(私の Thinkpad i1124 もそうでした。) X の画面から shutdown した場合でも、終了時のメッセージが表示されずに真っ黒のままで終わるので、いつ終了処理が終わったか見えません。

で、とりあえずの対処として X を起動するシェルを作り、Xservers からはそれが呼ばれるようにして、シェルの中で Solaris の X を起動してすぐ終了する処理をさせていましたが、同僚と一緒に仕事している時に相談したところ、その場でシステムコールやシグナルの truss &対応プログラムの作成をしてくれました。それによって、真っ黒くろすけ画面の不具合も回避でき、とても助かっています。

とりあえず、本人の了解を得てソースとオブジェクトを登録しましたので、同じ現象で悩んでいる方はご利用ください。

resetX ソース ・・・・・・・・・XFree86 で不足している部分を補うプログラムのソース

resetX オブジェクト・・・・・・XFree86 で不足している部分を補うプログラムのオブジェクト
                 /usr/X11R6/bin に置く

Xservers の変更したもの /etc/dt/config に置いた、Xservers と入替える

X2 シェル ・・・・・・・・・・・・ resetX を動かすシェル /usr/X11R6/bin に置く

「ノートPCにSolarisを」のホームへ