2010/08/24

仮想デスクトップのキーボード レイアウト(配列)

Windows OSのキーボードレイアウト(英語キーボードから日本語キーボード、とか)を変えるのは、結構面倒。
レジストリを変更して、リブート」 という前近代的な手段が必要なのだ。左記のURLはVista対象となっているんだけど、Windows 7でも同様っぽい。

しかし、なんとRDPでリモートデスクトップに接続すると、仮想デスクトップ側のキーボードレイアウトが、アクセス端末側のキーボードレイアウトに合わせる形で変更されてしまうのだっ。便利なような、余計なお節介のような・・・。

しかも、ログオン時にのみ、この「キーボードレイアウト合わせ」が発生する・・・らしい。

・・・たとえば、以下のようなケースを見てみよう。
仮想デスクトップOSは、日本語キーボードレイアウトでインストールされている、とする。
英語キーボードが付いているアクセス端末から、その仮想デスクトップにログオンする。
しかるべきのちに、そのアクセス端末からログオフせずに、セッションを切断する。
別のアクセス端末(日本語キーボード)から、その仮想デスクトップにアクセスすると、英語キーボードレイアウトになっているので、不便・・・というヤツだ。

■その場しのぎの対処手段の例
事象が発生したら、さっさとログオフして、ログオンする。つまり、ログオンを発生させればよい。

■恒久的な解決策の例
仮想デスクトップ 電源ポリシー
を活用して「切断後に自動的にログオフ」を設定する



なお、PCoIPの場合は、仮想デスクトップ側の以下のレジストリで制御可能らしい。
"HKLM\Software\Policies\Teradici\PCoIP\pcoip_admin"
pcoip.ignore_host_default_input_lang_synch [DWORD] [Value = 1]


※2013年3月追記
Horizon View 5.2 で確認したところ、上記レジストリが変わっている模様。

--- pcoip.adm からコピペ ---
pcoip.enable_input_language_sync  [DWORD] [Value = 0]



PCoIPDefaultInputLanguage_Policy="Turn on PCoIP user default input language synchronization"
PCoIPDefaultInputLanguage_Explain="Determines whether the default input language for the user in the PCoIP session is synchronized with the default input language of the PCoIP client endpoint. When this setting is enabled, synchronization is allowed. When this setting is disabled or not configured, synchronization is disallowed. This setting applies to the server only."
---

--- マニュアル(Administration)からコピペ ---
Turn on PCoIP user default input language synchronization

Determines whether the default input language for the user in the PCoIP session is synchronized with the default input language of the PCoIP client endpoint. When this setting is enabled, synchronization is allowed. When this setting is disabled or not configured, synchronization is disallowed. This setting applies to View Agent only.
---