XとGNOMEでキーボードが異なると怒られる

ログインしてGNOMEのセッションを開始しようとすると

The X system keyboard settings differ from your current 
GNOME keyboard settings.

Expected was model "pc101", layout "us" and no options, 
but the the following settings were found: model "jp106", 
layout "jp" and no options.

        [Use X settings]        [Use GNOME settings]

というダイアログが出て来て、どっちにするか決めろと言われる。

このメッセージについて問題がいくつかある。どっちがXの設定で、どっちがGNOMEの設定が分からないことが第一。それに「the the」というのもいただいけない。そして何よりも、私はどちらも「jp106」で設定しているので、このメッセージ自身出るのがおかしい。このダイアログの指示でXかGNOMEかを指定しなければならないが、どちらを選択しても、ちゃんとjp106として使える。(「*」が「シフト−8」になることはない。)

私の環境がちょっとヒネッテいるせいかもしれない。(といっても、それ程ヒネクレタことをしているわけではないのだけど。) 私の場合、GUIツールよりは端末ウィンドウでコマンドを使って作業する割合の方が高い。そこで、ディレクトリ名とかに漢字は入っていると操作性が著しく落ちるためにベースの環境は英語でインストールしている。Linux(今回はFedora 8)をインストールする時に、基本言語を英語として設定、キーボードを日本語に指定している。そうすれば、システムからのメッセージやメニューは英語だが、必要に応じて日本語も扱えるので便利だ。こういう風に利用する人のことを想定していない(もしくは想定はしていたが、ロジックに不具合が残っている)のかも知れない。

ログインするとほぼ毎回でるのでウットオシイ。なんとか出ないようにしたいと色々調べていたが、有効な解決方法がネットでは見つからなかった。 じゃっかん、あきらめかけていたが、「どこかにpc101と定義してあるところがある筈だから、見つけ出そう。」ということで、findをかけてみた。

find / -fstype ext3 -type f -exec grep pc101  '{}' \; -print

色々なファイルでpc101とう文字列を含んでいたが、怪しいのは次のファイルだった。
~/.gconf/desktop/gnome/peripherals/keyboard/kbd.sysbackup/%gconf.xml
最初は、GNOMEの設定ではなくXの設定の方がおかしいのかと思っていたのでルートから探したが、GNOMEの方の設定がおかしいのであれば、確かに自分のホーム・ディレクトリの下が怪しい。(GNOMEのキーボードの設定(System -> Administration -> Keyboard)では「Japanese」となっているのでGNOMEの設定は正しいと思っていた。)

このファイル(kbd.sysbackup/%gconf.xml)を開くと次のようになっていた。

<?xml version="1.0"?>
<gconf>
        <entry name="model" mtime="1199466741" type="string">
                <stringvalue>pc101</stringvalue>
        </entry>
        <entry name="layouts" mtime="1199466741" type="list" ltype="string">
                <li type="string">
                        <stringvalue>us</stringvalue>
                </li>
        </entry>
</gconf>

これをテキスト・エディタで次のように書き換えた。

<?xml version="1.0"?>
<gconf>
        <entry name="model" mtime="1199466741" type="string">
                <stringvalue>jp106</stringvalue>
        </entry>
        <entry name="layouts" mtime="1199466741" type="list" ltype="string">
                <li type="string">
                        <stringvalue>jp</stringvalue>
                </li>
        </entry>
</gconf>

とりあえず、あのうっとおしいメッセージは出なくなった。しかし、このファイルが何なのか、強制的に書き換えて副作用がないのか、単に「pc101」や「us」のところだけを変えればいいのかは分からない。とにかく、うっとおしいダイアログが消えてくれたことでOKとする。