2013/01/04

XQuartzでvirt-managerコンソールのキー入力を正しく行う

HP MicroServer に Debian(squeeze) をインストールして KVM を使い始めたのですが、OS X の XQuartz で virt-manager のコンソールを使っていると、カーソルキーはおろかキーボードが謎の配列になってしまい OS のインストール作業すらできません。KVM ホスト上の X11 による virt-manager コンソールでは起こりませんが、headless サーバなので VNC 経由の X だと描画が遅くて耐えられません。

同じような問題を解決している記事を見かけました。

libvirt によって実行されるエミュレータ /usr/bin/kvm にキーボードレイアウトのパラメータ -k を与えたラッパーを指定するようですね。

私は英語レイアウトのキーボードを使用していますので -k en-us を指定したファイルを /usr/local/bin/kvm-wrapper として作成して実行権限をつけて、

#!/bin/bash
exec /usr/bin/kvm -k en-us "$@"
ドメインを作るたびに virsh edit して emulator 要素の値をこのラッパーに書き換えています。
# old:
<emulator>/usr/bin/kvm<emulator>
# new:
<emulator>/usr/local/bin/kvm-wrapper<emulator>
ラッパーを元のコマンドと置き換えてもよいのですが、アップデート時にハマると嫌なのでこうしています。

これでめでたくシングルユーザモードを選択できるようになりました!

なおメタキーについては、現在使用している XQuartz 2.7.4 では「Option キーで Alt_L と Alt_R を送信」という項目がありますので、これを有効にしていればコンソールに捕まっても脱出はできますね。

0 件のコメント:

コメントを投稿