Maxの日記: [yak]本家英語版調査続き
日記 by
Max
xinitrcが実行されていないというのは調べ見当違いだった。
CD起動の場合は、/etc/init.d/xsessionでユーザknoppixにてXが起動し、
HDDインストールの場合は、/etc/init.d/kdmからXが起動する。
kdm経由の場合、/etc/kde3/kdm/配下のファイルが参照されている。
続く流れとしては:
/etc/kde3/kdm/Xsession -> /etc/X11/Xsession
-> /etc/X11/Xsession.d/50xfree86-common_determine-startup
/etc/X11/Xsession.optionに指定があり、$HOME/.xsessionか
.Xsessionがあればそれを呼び出す
となっている。
・localeが設定されていないのは、元々入っていた.bashrcが
/etc/profileを見に行くようになっていたのを、set-language-envが
残してしまっていたからと判明。産総研版では/etc/profileに日本語
localeを設定するように無理矢理しているが、debian的にはこの設定
はやはり~/.bashrcで行う様にする方が正しいと思う。
とりあえず、~/.bashrcの最後にあった/etc/profileを呼び出す部分を
トルツメでOK。
・日本語入力が起動しないのは、/usr/X11R6/bin/kinput2が
/etc/alternatives/kinput2を経由してkinput2-wnnかkinput2-cannaを
呼び出しに行ってしまうようになっているから。
デフォルトではkinput2-cannaにシンボリックリンクが張られているが
当然kinput2 -wnnというコマンドラインはエラーになる。
システムとしてはどちらの日本語入力も共存できるようになっているし、
set-language-envもkinput2へ与えるコマンドラインによって切替が
できるかのように見えるのだが、これがダメ。
/usr/X11R6/bin/kinput2を
#!/bin/sh
kinput2$1
という短いスクリプトに置き換えることで回避。
・kdmログオン後起動時に勝手にktermが起動するのは、.xsessionに
TERMINAL_EMULATORが設定されていないから。こんなもの起きなくて
いいので、TERMINAL_EMULATOR=NONEと設定して解決。
これで英語版でもwnn/cannaでの日本語入力ができ、localeも正しく
設定されるようになった。
あと問題はXMODIFIERS変数が誰かにクリアされてしまっているという事。
これをクリアしないとAtokXなどの他の日本語入力は真っ当に動かない。
しかしまぁ・・・いつも思うのだが、Xの起動プロセスとかユーザ
セッションの開始ってどうしてこうもディストリ毎に違うのだろうか。
****
XMODIFIERSは/etc/sysconfig/i18nの中でクリアされていた。システムの
ロケール設定でこうなる。これも本来は~/.bashrcの中でやるべきだと
思う。.bashrcの最後に
export XMODIFIERS=@im=$XIM
と追加してOK。
****
幾つか英語版にも気に入らない点はあるけど、最大の不満点はこれが
Klaus Knopper氏一人の作業だということかな・・・
彼が手を加えた内容は彼しか知らないんだろうけど、追加パッケージ
などの公開は遅れているようだし、英語版をリファレンスにして再構築
するにしても、リリースされているもののソースを取ってくる手だてが
無いんじゃどうしようもない。これでGPLですか?
マスタリングの為のツールやら手順も明らかじゃない。ソースがあれば
読み倒しますけど、公式に出てない。
・・・とか悪口いったら、www.knopper.netにつながらない(汁
CD起動の場合は、/etc/init.d/xsessionでユーザknoppixにてXが起動し、
HDDインストールの場合は、/etc/init.d/kdmからXが起動する。
kdm経由の場合、/etc/kde3/kdm/配下のファイルが参照されている。
続く流れとしては:
/etc/kde3/kdm/Xsession -> /etc/X11/Xsession
-> /etc/X11/Xsession.d/50xfree86-common_determine-startup
/etc/X11/Xsession.optionに指定があり、$HOME/.xsessionか
.Xsessionがあればそれを呼び出す
となっている。
・localeが設定されていないのは、元々入っていた.bashrcが
/etc/profileを見に行くようになっていたのを、set-language-envが
残してしまっていたからと判明。産総研版では/etc/profileに日本語
localeを設定するように無理矢理しているが、debian的にはこの設定
はやはり~/.bashrcで行う様にする方が正しいと思う。
とりあえず、~/.bashrcの最後にあった/etc/profileを呼び出す部分を
トルツメでOK。
・日本語入力が起動しないのは、/usr/X11R6/bin/kinput2が
/etc/alternatives/kinput2を経由してkinput2-wnnかkinput2-cannaを
呼び出しに行ってしまうようになっているから。
デフォルトではkinput2-cannaにシンボリックリンクが張られているが
当然kinput2 -wnnというコマンドラインはエラーになる。
システムとしてはどちらの日本語入力も共存できるようになっているし、
set-language-envもkinput2へ与えるコマンドラインによって切替が
できるかのように見えるのだが、これがダメ。
/usr/X11R6/bin/kinput2を
#!/bin/sh
kinput2$1
という短いスクリプトに置き換えることで回避。
・kdmログオン後起動時に勝手にktermが起動するのは、.xsessionに
TERMINAL_EMULATORが設定されていないから。こんなもの起きなくて
いいので、TERMINAL_EMULATOR=NONEと設定して解決。
これで英語版でもwnn/cannaでの日本語入力ができ、localeも正しく
設定されるようになった。
あと問題はXMODIFIERS変数が誰かにクリアされてしまっているという事。
これをクリアしないとAtokXなどの他の日本語入力は真っ当に動かない。
しかしまぁ・・・いつも思うのだが、Xの起動プロセスとかユーザ
セッションの開始ってどうしてこうもディストリ毎に違うのだろうか。
****
XMODIFIERSは/etc/sysconfig/i18nの中でクリアされていた。システムの
ロケール設定でこうなる。これも本来は~/.bashrcの中でやるべきだと
思う。.bashrcの最後に
export XMODIFIERS=@im=$XIM
と追加してOK。
****
幾つか英語版にも気に入らない点はあるけど、最大の不満点はこれが
Klaus Knopper氏一人の作業だということかな・・・
彼が手を加えた内容は彼しか知らないんだろうけど、追加パッケージ
などの公開は遅れているようだし、英語版をリファレンスにして再構築
するにしても、リリースされているもののソースを取ってくる手だてが
無いんじゃどうしようもない。これでGPLですか?
マスタリングの為のツールやら手順も明らかじゃない。ソースがあれば
読み倒しますけど、公式に出てない。
・・・とか悪口いったら、www.knopper.netにつながらない(汁
[yak]本家英語版調査続き More ログイン