/usr/share/ibus/component/mozc.xmlの設定を変更することで、きれいに直ることが分かった。詳細は、以下のページ参照。
続・GNOME 3.14でキーボードレイアウトがjpにならない
*2015/01/10追記ここまで
結構前になるが、先日のアップデート後、キーボードレイアウトがusになって起動されるようになってしまった。キーボードレイアウトは自分の環境では/etc/X11/xorg.conf.d/10-keyboard.confで設定している。再度確認。
$ less /etc/X11/xorg.conf.d/10-keyboard.conf
Section "InputClass" Identifier "evdev keyboard catchall" MatchIsKeyboard "on" MatchDevicePath "/dev/input/event*" Driver "evdev" Option "XkbModel" "hhk" Option "XkbLayout" "jp" EndSection
Option "XkbLayout" "jp"の設定があるので、X11の設定までは問題ない。
さらに、IBusによってキーボードレイアウトが書き換えない設定が、有効になっているかを確認する。アクティビティから「IBusの設定」を起動して、詳細のタブに移動して、「システムのキーボードレイアウトを使用する」にチェックが入っているか確認。
X11の設定もIBusの設定も問題ない。ここで、現在のキーボードレイアウトの状態を確認してみる。
$ setxkbmap -query rules: evdev model: hhk layout: us,us variant: ,
または、
$ xprop -root | grep XKB _XKB_RULES_NAMES(STRING) = "evdev", "hhk", "us,us", ",", ""
レイアウトがusになってしまっている。/etc/X11/xorg.conf.d/10-keyboard.confの設定が反映されていないこと、または、/etc/X11/xorg.conf.d/10-keyboard.confの設定が上書きされてしまっていることが原因なきがする。
この前、xorg-server 1.16のアップデートの記事[1]が公式ページに上がっていたので、それを読んでみると
" The default configuration files are now in /usr/share/X11/xorg.conf.d, all host configurations are still taking place in /etc/X11/xorg.conf.d/ directory. Please note that files 10-evdev.conf and 10-quirks.conf in /etc/X11/xorg.conf.d could be renamed with .pacsave suffix, which could break your configuration, then just rename them and remove the .pacsave suffix. "
らしい。自分のキーボードの設定を/usr/share/X11/xorg.conf.d/以下の設定とマージしたら治るのではないかと思って、/usr/share/X11/xorg.conf.d/10-evdev.confに今までの設定をマージすることに。/usr/share/X11/xorg.conf.d/10-evdev.confは、X11の入出力デバイスの設定ファイル。
/usr/share/X11/xorg.conf.d/10-evdev.confの設定ファイルにhhkとjpの行を追加。Option "XkbModel" "hhk"のhhkの部分は自分の使っているキーボードのモデルにあったものに変更する。(/usr/share/X11/xkb/rules/evdev.lst中に、キーボードのベンダー等の説明と、それに対応するXkbModelの行に書くべき文字列が載っている。)
# vim /usr/share/X11/xorg.conf.d/10-evdev.conf # # Catch-all evdev loader for udev-based systems # We don't simply match on any device since that also adds accelerometers # and other devices that we don't really want to use. The list below # matches everything but joysticks. Section "InputClass" Identifier "evdev pointer catchall" MatchIsPointer "on" MatchDevicePath "/dev/input/event*" Driver "evdev" EndSection Section "InputClass" Identifier "evdev keyboard catchall" MatchIsKeyboard "on" MatchDevicePath "/dev/input/event*" Driver "evdev" Option "XkbModel" "hhk" ←ここを追加 Option "XkbLayout" "jp" ←ここを追加 EndSection ...
ついでに、以前設定した/etc/X11/xorg.conf.d/20-intel.conf も/usr/share/X11/xorg.conf.d/以下に移動させておく。
$ mv /etc/X11/xorg.conf.d/20-intel.conf /usr/share/X11/xorg.conf.d/
再起動後、setxkbmap -queryでキーボードレイアウトを確認したが、usのまま。setxkbmap -queryの出力を見ても、model: hhkは反映されているので、X11のキーボードレイアウトは読み込まれているが、その設定が上書きされているんだろう。
こういう場合に、悪さをするのはだいたいGNOME周辺の設定ツール。こう思ってから、いろいろ設定をいじって試行錯誤。結局以下の方法で解決することが判明。GNOME 3.14でIBusを使うと、キーボードレイアウトが自動でusに設定されてしまうことが問題。バグなのではないかと思う。
GNOME Settingsから設定する方法
GNOMEの「設定」をアクティビティから立ち上げる。「地域と言語」に移動。ibus-mozcを使っている場合、「入力ソース」に「日本語 (Mozc)」と表示されているはず。この下に「日本語」というエントリを追加する。追加方法は「+」をクリックして、「日本語」を選択、選択肢の中からさらに「日本語」を選択。
これで、地域と言語の設定が以下のように、「日本語 (Mozc)」の下に、「日本語」のエントリが追加されていれば完了。
dconf editorから設定する方法
dconf editorをアクティビティから立ち上げる。org.gnome.desktop.input-sourcesに移動して、sourcesのエントリを以下のように編集。これで、Mozcの後にxkbの日本語キーボードレイアウトが反映される。以前はxkbの設定がなくても、X11の日本語キーボードレイアウト設定が書き換えられることがなかったので、問題なかった。
以上のGNOMEの設定をいじるほうほうだと、jpの入力ソースが加わってしまうので、これが嫌ならOS起動後にxkbのコマンドを.bashrcとかに書いて、キーボードレイアウトを変更したほうが良い気もする。結局、IBusによってキーボードレイアウトが書き換えられてしまっているのが、原因な気がする。IBusのアップデートで治るのだろうか。IBusのバグとして上がってたりするのだろうか。
調べてみると、似たような話題のスレッドがあった。[2]
参考:
[1]xorg-server 1.16 is now available
[2][SOLVED] Keyboard layout not setting correctly after gnome 3.14 update
スポンサーリンク
0 件のコメント:
コメントを投稿