気が向いたら何か書きます

1回/年くらいの更新を目指しますw

dtloginだけjaロケールで起動する

Solaris 10のお話です.OSそのものはCロケールで動かしています.コンソールに日本語でメッセージが表示されてもわかんないですからね.でも使い勝手の点からはdtloginはやっぱりjaロケールで動かしたいわけです.まぁメニューからjaロケールを選択すれば良いのではありますが,毎回となると正直いって面倒ですし,他の人も使うことを考えると最初から日本語の状態で動いていて欲しいわけです.
てことで今までは/etc/init.d/dtlogin内でdtloginを起動する行を

LANG=ja /usr/dt/bin/dtlogin -daemon &

のように書きかえていたのですが,124393-03(SPARC),124394-03(x86)のパッチを適用するとdtloginがsmf(5)経由で起動されるようになるので*1,そうはいかなくなってしまいます.まぁ/lib/svc/method/svc-dtloginを書きかえるというのもひとつの方法ではあるのですが,できればもう少し真っ当な方法で対処したいところです.というわけで以下のようにsmf(5)の枠内で対応してみました.

# svccfg -s cde-login setenv LANG ja
# svcadm refresh cde-login

のようにして,cde-loginの起動時の環境変数にLANG=jaを設定して,それを反映させます.あとは,

# svcadm restart cde-login

このようにしてdtloginを再起動するのですが,dtlogin経由で起動したX11上で実行すると,現在使用中のX11環境が終了してしまうので要注意なのです.

*1:Solaris 10 update 3でも同様みたいです