WindowsPCからVNC経由でCentOS6.5のKVMで構築した仮想環境(CentOS 6.5 最小構成)にアクセスしたときに「:」(コロンが入力できない)問題の解決策。
起こった問題
WindowsPC から日本語キーボードを使ってVNCビューワを使い、CentOS 6.5でKVMを使って仮想環境(CentOS 6.5最小構成)にアクセスしたとき「:」(コロン)が打てない問題に直面しました。
何が問題かって、、、viで編集した内容が保存できない、終了ができない、、、という悲惨な状態。設定ができないんじゃ何もできないわけです。。。「;」(セミコロン)は打てるのですが、どうしても「:」(コロン)が打てませんでした。
「:」を入力しようと「*」になり、このキーはshiftを押しても押さなくても「*」になり、「’」を入力しようとすると「7」が表示され、「=」も「―」になるだけという状態でした。
解決した後に冷静に考えてみると、どうもVNC+CentOSが英語配列のキーコードとして受け取った情報をKVMへ日本語キーボード入力として仮想環境へ送り、仮想環境で日本語キーボード入力として受け取った結果、入力がおかしくなったんじゃないかと思ってます。(何言っているのかよくわからんよね・・・)
Windows VNC
↓ 日本語キー入力を変換、英語キーマップ(標準キーマップ)で送る
CentOS
↓ 英語キーマップ(標準キーマップ)でコンソールに処理を送る
KVM CentOS 日本語キー入力されているものとして処理をする
↓
結果・・・英語キーコードを日本語キーマップで処理しておかしなことになっている。
ソースを見たわけではないので、想像ですが上のような事が起こっているのではないかと考えています。
解決策
注意: 接続構成を変えない人 限定の解決策です。
簡単に言ってしまえば、「KVMの入力の受け取りを英語キーマップに変更する。」というのが解決策です。
まずは、KVMのキー入力を「en-us」に変更します。
仮想環境内のOSは起動していたなら再起動、終了しているのなら起動してください。
起動後はrootで以下のファイルの編集を行います。
# vi /etc/sysconfig/keybord ---------- 以下、編集内容 ---------- KEYTABLE="us" MODEL="pc105+inet" LAYOUT="us" KEYBOARDTYPE="pc"
恐らくハイライトした部分の値が「jp106」か「jp」になっているハズなので上記のようにus入力仕様に変更します。
なお、この時、私の環境では「:」はshiftキーをしながら「7」(つまり、「’」)で入力可能で、「+」は「:」で入力可能な状態でした。
「/etc/sysconfig/keybord」の編集後は仮想環境を再起動することで正しいキー入力ができるようになります。
トラックバック & ピンバック