2007年10月31日の日記の2番目の記事へのコメント

Xorg-7.3 XKB問題

Xを上げると「(WW) Couldn't load XKB keymap, falling back to pre-XKB keymap」という警告が出る問題についても追ってみました.探してたら遭遇したこちらのgentooのドキュメントの「XKBの変更を追跡する」という項目を真似してみたところ・・・

% setxkbmap -model thinkpad -layout us -option "ctrl:swapcaps"
Couldn't find rules file (xorg)

(´・ω・`)

一体 setxkbmap は何を見つけられないのかと,straceしてやったところ,以下のような出力が.

9170  open("./rules/xorg.lst", O_RDONLY) = -1 ENOENT (No such file or directory)
9170  open("/usr/local/share/X11/xkb/rules/xorg-C.lst", O_RDONLY) = -1 ENOENT (N
o such file or directory)
9170  open("/usr/local/share/X11/xkb/rules/xorg.lst", O_RDONLY) = -1 ENOENT (No
such file or directory)
9170  write(2, "Couldn\'t find rules file (xorg) "..., 33) = 33

「/usr/local/share/X11/xkb/rules/xorg.lst」 がないのかぁ.base.lst ならあるのに.この辺,本来誰が供給すべきファイルなんだろう・・・とPS3のFedora7で rpm -qf で確認してみたところ,xorg.lst も xkeyboard-config でインストールされるファイルらしく,しかも base.lst のシンボリックリンクになってました.

というわけで base.lst へのリンクを作ってやったところ・・・あれ変わらんし.再度straceをしてみたところ,今度は「/usr/local/share/X11/xkb/rules/xorg」がないとか.はぁ? そして Fedora7 を見るとこちらは 「base」 へのリンクになってました.なんだこりゃ.ついでに 「xorg.xml」 とかいうのもあったのでこれも真似して「base.xml」のリンクに.ようやく setxkbmap がエラーを返さなくなりました.そしてXを上げ直してみましたが,例のメッセージは出なくなってました.めでたい.

で,一体誰が「xorg」なんてファイル名を指定しているのか気になったので,こちらも追ってみました.setxkbmapのソースを読むと,ファイルを直接読み出しているのは libxkbfile 内の関数みたいです.で,引数を追っていくと,再び setxkbmap のソースに戻りまして,DFLT_XKB_RULES_FILE というのが出てきました.これが xorg になっているっぽい.さらに追っていくと,上の方に「#define DFLT_XKB_RULES_FILE __XKBDEFRULES__」とあって,setxkbmapのMakefile.amに以下のようなベタな記述が・・・!

AM_CFLAGS = $(SETXKBMAP_CFLAGS) \
        -D__XKBDEFRULES__='"xorg"' \
        -DDFLT_XKB_CONFIG_ROOT=\"$(XKBCONFIGROOT)\"

追跡終了.設定ファイルの問題じゃないのね.

お名前:  メールアドレス(省略可):
メールアドレスも表示されます
ここに名前その他を書いてはいけません: ここにメールアドレスその他を書いてはいけません:

2007年10月31日の日記の2番目の記事へのコメント

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2007年10月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ