kuroの覚え書き

96の個人的覚え書き

キーボードレイアウトの設定

サーバにはCentOS7をインストールして使っている。
基本的にサーバにはsshvncで接続して使っているわけだが、端末としてはMacOSXを使用しており、キーボードもmacの(それもかなりレガシーな)US配列のものを使っているため、いまいちキーマップが一致せず、意図した動作ができないということが多かったので、その辺の環境を一度整理してみることにした。あとあまり必要ではないのだけれど日本語の入力、表示も一応できるようにしたい。

初期状況:
CentOS7はlocaleを日本語としている。
super keyが割り当てられていない?
日本語入力ができない。
Macで作成した日本語ファイルが文字化けする。日本語をmacからCentOSにコピペすると化ける。

まず行ったこと:日本語入力環境を入れる。
アプリケーション→システムツール→設定
を開く
地域と言語を選択すると
f:id:k-kuro:20190421191828p:plain
こんな感じになっている。入力ソースに日本語、とあるから日本語が入力できるのかと思ったら、どうやらできない。
したのプラスボタンを押して
f:id:k-kuro:20190421192005p:plainf:id:k-kuro:20190421192028p:plain
日本語(かな漢字)を追加してやると入力、漢字変換もできるようになるというわけ。
f:id:k-kuro:20190421192148p:plain
変換のショートカットなどを変更するならここをいろいろいじる。

で、普通に半角英数入力とちゃっちゃと切り替えて使うには
f:id:k-kuro:20190421192315p:plain
この英語(US)も足しておく必要がある。(特にmacのUSキーボードで入力しているなら以下の理由によりマストだと思う)

さて、これで漢字変換できるようになったが、英数・かな漢字の切り替えのショートカットがこのままでは使えない(VNC環境で)
というのもMacのUSキーボードにはかな・漢字キーなどがないからね。
入力ソースのオプションというボタンを押すと
f:id:k-kuro:20190421192850p:plain
こんな風に書かれていて、変更を受け付けない状態になっているのだが、このsuperキーってのがMacにはないのね。
なので切り替えようがない。

いろいろ悩んだが、これはMacVNC viewerの側で解決できた。

VNC viewerのPreferenceで
f:id:k-kuro:20190421193244p:plain
このようにLeftCmdKeyをSuper_Lに、LeftOptKeyをAlt_Lに設定してやると良い。
ちなみにデフォルトではLeftCmdKeyがAlt_Lに設定されている。
まあこの辺はWindowsのキーボードのWinキーとAltキーの並び順に従っているのだろうけど、macのoptionキーにはAltと表示されているんだがな。でsuperキーを設定せずに放置しているのってどういうことよ、って思うね。

なおSSHVNCの端末はUSキーボードだからといってlocalectlでキーボードレイアウトをUSにしておく必要はないようだ。localectlでは直接サーバにつないだキーボードの設定を変えるコマンドで、SSHVNCで接続した場合はそれぞれの端末でキーボードレイアウトを読み取って送信しているのだね。


なお、日本語のコピペが文字化けるのは仕様のようで。