libvirt の管理下の仮想化ドメインから、virt-manager を使って、仮想グラフィック画面をVNC経由でアクセスすると、正しくキー入力ができない場合がある。
kvm/qemu のエミュレータに対してキーボードのレイアウトを指定するオプションを付ければ、対応が可能であるが、、、libvirt のドメイン設定ファイル
「libvirt: Domain XML format」にはどうも関連する設定項目が無いようである。(追記2009/04/14 記事の最後の方を参照)
まぁ、日本語キーボードの keycodes の問題なんで、英字キーボードを用意すれば済むのだが、 日本にいる以上、日本語配列には慣れていかないといけないわけで、、、
はて、どうしたもんだか?
まぁ、スクリプトを挿めばいい
実行バイナリを別名に変更し
# mv /usr/bin/kvm /usr/bin/kvm.bin # mv /usr/bin/qemu-system-x86_64 /usr/bin/qemu-system-x86_64.bin
/usr/bin/kvm
と/usr/bin/qemu-system-x86_64
の中身を次のラッパースクリプトに変更する。
#!/bin/sh exec $0.bin -k ja $*
これにより、日本語キーボードでも正しく文字が入力できるようになる。
なんだろ?
VNCでkeycodes配列をネゴしないのが問題なのかなぁ、、、イマイチ分からん
追記 (2009/04/14)
ふと、気づいてみると XMLフォーマットの中で、VNCのキーマップの指定が出来るようになっている!
<graphics type='vnc' port='-1' autoport='yes' listen='' keymap='ja'/>
開発サイトのデータを検索する 「libvirt.git/search: keymap」と、 どうもドキュメントに記載が無いだけで libvirt 0.4.1 位から使えてたようでした。 なので、このバッドノウハウは要らなくなりました。
0 件のコメント:
コメントを投稿