Citrix Virtual Apps and Desktopsでは、言語やプラットフォームなど、ユーザーやIT管理者の要件に対応するために、キーボードや入力システム(IME)に関連する豊富な構成が提供されています。ただし、Citrix WorkspaceアプリのさまざまなクライアントやOSプラットフォームなどの要因により、キーボードとIMEを正しく構成することが難しい場合があります。
この記事では、さまざまな展開シナリオに従ってキーボードとIMEを正しく構成する方法について説明します。「キーボード」という用語は、「キーボードレイアウト」のほか、101キーボード、103キーボード、106キーボードなどの物理キーボードにも使用していますので注意してください。
キーボード同期モード
Citrix Virtual Apps and Desktopsは、クライアント側のキーボードとVDA側のキーボードの両方をサポートしています。よくある問題が1つありますが、それは何でしょうか?それは、どちら側のキーボードが適用されるかという問題です。基本的なルールは次のとおりです:
- クライアントがWindows向けCitrix Workspaceアプリの場合、VDA側のキーボードが適用されます。
- クライアントがWindows以外(Mac、Linux、iOS、またはAndroid)のCitrix Workspaceアプリの場合、クライアント側のキーボードが適用されます。
- ルール#1または#2が機能しない場合、構成が正しくないか、Citrix Virtual Apps and Desktopsがそのタイプのシナリオをサポートしていない可能性があります。このような場合は、 Citrixカスタマーサービスにお問い合わせください。
よくあるもう1つの問題は、ユーザーがセッションにログインまたは再接続するときにVDA側で設定されるキーボードのタイプです。クライアントのキーボードレイアウトを使用していますか?クライアントのキーボードレイアウトを使用していない場合、どのキーボードレイアウトが使用されていますか?これは、キーボード同期モードの設定によって異なります。Citrix Virtual Apps and Desktopsでは、次の4つのキーボード同期モードをサポートしています:
- VDAへのログインまたは再接続時にVDA側のデフォルトキーボードを使用する:クライアントがAndroid向けCitrix WorkspaceアプリとiOS向けCitrix Workspaceアプリの場合のデフォルト設定です。この設定は、StoreFrontのクライアント構成ファイルまたはicaファイルを使用して構成できます。クライアント側でのキーボードレイアウトの変更は、セッションではVDA側に同期されません。
- VDAへのログインまたは再接続時に特定のキーボードを使用する:VDAへのログインまたは再接続時に、StoreFrontのクライアント構成ファイルまたはicaファイルを使用して特定のキーボードレイアウトを構成できます。クライアント側でのキーボードレイアウトの変更は、セッションではVDA側に同期されません。
- VDAへのログインまたは再接続時にのみVDA側のキーボードをクライアントのデフォルトキーボードと同期する:クライアントがWindows、Mac、またはLinux向けCitrix Workspaceアプリの場合のデフォルト設定です。クライアント側でのキーボードレイアウトの変更は、セッションでVDA側に同期されません。
- VDAセッションでVDA側のキーボードをクライアントのキーボードと動的に同期する:ユーザーがクライアントのキーボードを変更すると、セッションでVDAキーボードが自動的に同期されます。クライアントとVDAの両方で、このモードを有効にする設定があります。
4つの同期モードはすべて排他的であり、個々のクライアントはいずれかのモードでのみ機能します。複数のクライアントがある場合、可能であっても、クライアントごとに同期モードを個別に設定することはお勧めしません。個別に設定すると、別のクライアントからログインして再接続するときに、セッションで適用されるキーボードに関し混乱が生じます。
モード1と2を使用すると、クライアントのキーボードとVDA側のキーボードの間で不整合が生じる場合があります。たとえば、クライアント側のキーボードにはドイツ語のキーボードアイコンが表示され、VDA側には英語のキーボードアイコンが表示されるなどです。モード1と2が通常使用されるのは、1種類のキーボードレイアウトのみを使用し、クライアント側でキーボードレイアウトを変更する必要がない環境です。Windows OSの場合、VDA側のデフォルトキーボードは、Windows OSの言語、現在のユーザープロファイル設定、およびWindows OSの構成によって異なります。「VDA側のデフォルトキーボードを使用する」モードではVDAのキーボードレイアウトが不明であり、このモードの使用は推奨されません。
クライアント | デフォルトの同期モード |
Windows向けCitrix Workspaceアプリ | VDAへのログインまたは再接続時にのみVDA側のキーボードをクライアントのデフォルトキーボードと同期する |
Mac向けCitrix Workspaceアプリ | VDAへのログインまたは再接続時にのみVDA側のキーボードをクライアントのデフォルトキーボードと同期する |
Linux向けCitrix Workspaceアプリ | VDAへのログインまたは再接続時にのみVDA側のキーボードをクライアントのデフォルトキーボードと同期する |
Android向けCitrix Workspaceアプリ | VDA側のデフォルトキーボードを使用する |
iOS向けCitrix Workspaceアプリ | VDA側のデフォルトキーボードを使用する |
HTML5向けCitrix Workspaceアプリ | VDAへのログインまたは再接続時にのみVDA側のキーボードをクライアントのデフォルトキーボードと同期する |
表1 — Citrix Workspaceアプリのデフォルトの同期モード
「VDAへのログインまたは再接続時にVDA側のデフォルトキーボードを使用する」モードを構成する
このモードを構成するには、2つのレベルがあります。1つは、Citrix Workspaceアプリでインストールされたローカル構成ファイルをユーザーごとに変更することです。もう1つは、StoreFrontサーバーの「default.ica」を変更することです。StoreFront構成は、クライアントのローカルファイル構成よりも優先されます。
Citrix Workspaceアプリ | 構成 |
Windows向けCitrix Workspaceアプリ | ファイルパス: “%appdata%\ICAClient\WFCLIENT.ini”
[WFClient]の設定を変更します: KeyboardLayout=(Server Default) |
Mac向けCitrix Workspaceアプリ | ファイルパス:“~/Library/Application Support/Citrix Receiver/Config”
[WFClient]の設定を変更します: KeyboardLayout=(Server Default) |
Linux向けCitrix Workspaceアプリ | ファイルパス:“~/.ICAClient/wfclient.ini”
[WFClient]の設定を変更します: KeyboardLayout=(Server Default) |
Android向けCitrix Workspaceアプリ | 構成ファイルは未サポート |
iOS向けCitrix Workspaceアプリ | 構成ファイルは未サポート |
HTML5向けCitrix Workspaceアプリ | 構成ファイルは未サポート |
表2 —ローカルファイルの構成の「VDA側のデフォルトキーボードを使用する」モード
StoreFrontの構成:
パス:C:\inetpub\wwwroot\Citrix\%StoreName%\App_Data\default.ica
[WFClient]の設定をKeyboardLayout=(Server Default) に変更します。
「VDAへのログインまたは再接続時に特定のキーボードを使用する」モードを構成する
このモードは、ローカルファイルとStoreFront構成もサポートします。構成ファイルで同じ構成アイテムを使用します。ユーザーは、付録Aに記載されている特定のキーボードレイアウトを設定できます。たとえば、VDAへのログインまたは再接続時に構成ファイルで特定のキーボードを「フランス語」に設定し、[WFClient]の設定をKeyboardLayout=Frenchに変更するなどです。
「VDAへのログインまたは再接続時にのみVDA側のキーボードをクライアントのデフォルトキーボードと同期する」モードを構成する
このモードでは、VDAへのログインまたは再接続時に、クライアントのキーボードがVDA側と1回同期されます。このモードは、ローカルファイルとStoreFront構成もサポートします。構成ファイルで同じ構成アイテムを使用します。[WFClient]の設定をKeyboardLayout=(User Profile)に変更します。
次の表に示すように、このモードはすべてのタイプのCitrix Workspaceアプリでサポートされているわけではありません:
Citrix Workspaceアプリ | サポート |
Windows向けCitrix Workspaceアプリ | はい |
Mac向けCitrix Workspaceアプリ | はい |
Linux向けCitrix Workspaceアプリ | はい |
Android向けCitrix Workspaceアプリ | いいえ |
iOS向けCitrix Workspaceアプリ | いいえ |
HTML5向けCitrix Workspaceアプリ | はい。ただし、クライアントのキーボードは、Webブラウザーの現在の表示言語に従って判断されます。 |
表3 —「VDAへのログインまたはVDAへの再接続時にのみVDA側のキーボードをクライアントのデフォルトキーボードと同期する」モードでのCitrix Workspaceアプリの機能
「VDAセッションでVDA側のキーボードをクライアントのキーボードと動的に同期する」モードの構成
このモードでは、クライアントのキーボードが変更されるたびに、セッションでクライアントのキーボードがVDA側に同期されます。クライアントとVDA側の間でキーボードの一貫性が常に維持されます。このモードでは、ユーザーがVDA側でキーボードを変更した場合、VDA側とクライアント側のキーボードの同期はサポートされません。CJK(中国語、日本語、韓国語)ユーザーの場合、このモードでは、VDA側のIMEではなくクライアントIMEを使用できます。このモードは「クライアントのキーボードの同期および汎用クライアントIME」機能とも呼ばれ、この機能を有効にするにはクライアント側とVDA側の両方を構成する必要があります。
VDA | 構成 |
Windows VDA | Windows Server 2012、Windows 10ではデフォルトでオンです。
Windows Server 2016およびWindows Server 2019ではデフォルトでオフです。以下のレジストリを追加する必要があります: HKLM\Software\Citrix\ICA\IcaIme\DisableKeyboardSync value = DWORD 0 この設定により、クライアントのキーボードの同期が動的に有効になり、汎用クライアントIMEが有効になります。 |
Linux VDA | デフォルトはオフです。
クライアントのキーボードの同期を動的に有効にするには、次のコマンドを実行します: /opt/Citrix/VDA/bin/ctxreg update -k “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Citrix\LanguageBar” -v “SyncKeyboardLayout” -d “0x00000001” 汎用クライアントIMEを有効にして、次のコマンドを実行します: /opt/Citrix/VDA/bin/ctxreg update -k “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Citrix\LanguageBar” -v “SyncClientIME” -d “0x00000001” |
表4 VDA —「VDAセッションでVDA側のキーボードをクライアントのキーボードと動的に同期する」モードの構成
Citrix Workspaceアプリには、このモードを有効または無効にする機能もあります。
Citrix Workspaceアプリ | 構成 |
Windows向けCitrix Workspaceアプリ | この「キーボードレイアウト」セクションをご覧ください。 |
Mac向けCitrix Workspaceアプリ | この「キーボードレイアウトの同期」および「Macでサポートされているキーボードレイアウト」セクションをご覧ください 。 |
Linux向けCitrix Workspaceアプリ | ファイルパスの構成:/opt/Citrix/ICAClient/config/module.ini
セクション [ICA 3.0]: KeyboardSync=On 「キーボードレイアウトの同期」と「Linux VDAのキーボードレイアウトサポート」の詳細については、こちらをご覧ください。 |
Android向けCitrix Workspaceアプリ | 「設定」->「キーボード」->「クライアント側IMEの有効化」および「キーボードを同期」を選択します。
「キーボードレイアウトの同期」について詳しくは、こちらをご覧ください。 |
iOS向けCitrix Workspaceアプリ | 「設定」->「キーボードオプション」->「キーボードレイアウトの同期」を選択します。
「キーボードレイアウトの同期」について詳しくは、こちらをご覧ください。 |
HTML5向けCitrix Workspaceアプリ | このモードはサポートされていません。 |
表5—CWAの「VDAセッションでVDA側のキーボードをクライアントのキーボードと動的に同期する」モードの構成
Windows VDAのUnicodeキーボードレイアウトマッピングの有効化
オペレーティングシステム間のキーボードレイアウトの違いにより、キーマッピングの問題が発生する場合があります。たとえば、Mac FranceのキーボードレイアウトはWindowsとは異なります。Citrix Virtual Apps and Desktopsは、「Unicodeキーボードレイアウトマッピング」テクノロジーを使用して、この記事の前半のルール2を実現します。Windows以外のバージョンのCitrix Workspaceアプリを使用しているときにキー入力の問題が発生した場合、Windows VDAで「Unicodeキーボードレイアウトマッピング」機能を有効にする必要があります。この機能を有効にするには、Windows VDAに次のレジストリを追加します。
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxKlMap\EnableKlMap value = DWORD 1
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxKlMap\DisableWindowHook value = DWORD 1
Windows以外のバージョンのCitrix Workspaceアプリは、機能が有効な場合、クライアントとVDAでキーボード言語が異なる場合でも、常にルール2に従います。たとえば、Mac向けCitrix Workspaceアプリで米国英語のキーボードを使用し、Windows VDAでフランス語のキーボードレイアウトを使用するなどです。キーマッピングは、米国英語のキーボードを使用します。「VDAセッションでVDA側のキーボードをクライアントのキーボードと動的に同期する」モードでは、キー入力の問題を減らすために、Citrix WorkspaceアプリとVDAの間で可能な限り同じキーボードレイアウトが維持されます。
さまざまなシナリオでの構成
シナリオ1:組織がCitrix WorkspaceアプリとVDAで同じ言語を使用—このシナリオでは、Citrix WorkspaceアプリとVDAのデフォルト設定を使用します。
シナリオ2:組織ではさまざまな言語を使用するが、ユーザーは1つのみ使用—このシナリオでは、Citrix Workspaceアプリをキーボード同期モード1で構成します。
シナリオ3:組織ではクライアントのWindows向けCitrix Workspaceアプリのみを使用し、モバイル作業要件はなし—このシナリオでは、Windows向けCitrix Workspaceアプリは、表1に示すデフォルトの同期モード3で動作します。ユーザーはVDA側のキーボードレイアウトを使用し、VDAに任意のキーボードを追加できます。
シナリオ4:組織はLinux向けCitrix Workspaceアプリがインストールされたシンクライアントマシンを使用し、マシンの電源をオンにすると仮想デスクトップが起動され、全画面が表示される—このシナリオでは、VDA側のキーボードレイアウトに関わらずクライアントのキーボードレイアウトが適用されます。ユーザーがクライアントのキーボードの変更を許可されていない場合は、固定のキーボードレイアウトが適用されます。IT管理者は、Linuxのクライアントのデフォルトキーボードレイアウトを事前に設定し、Linux向けCitrix Workspaceアプリがデフォルト同期モード3で構成されていることを確認する必要があります。ユーザーがVDA側でキーボードレイアウトを変更すると、キー入力エラーが発生する場合があります。ユーザーがクライアントのキーボードの変更を許可されている場合、VDAでは「Unicodeキーボードレイアウトマッピング」機能が有効になり、キーボード同期モード4が設定されます。その後、ユーザーはクライアント側のキーボードレイアウトを変更可能で、これがVDA側に同期されます。
シナリオ5:組織がさまざまなオペレーティングシステム向けのCitrix Workspaceアプリを保有—このシナリオでは、キーボード同期モード4を使用し、Windows VDAの「Unicodeキーボードレイアウトマッピング」機能を有効にします。
中国語、日本語、韓国語(CJK)ユーザー向けの汎用クライアントIME
汎用クライアントIME機能は、CJKユーザーがVDA側ではなくクライアントIMEを使用してユーザーエクスペリエンスを向上させたい場合に、シームレスな入力エクスペリエンスを提供します。汎用クライアントIME機能は、キーボード同期モード4で有効になります。ユーザーがクライアント側でIMEを選択すると、VDA側でCJK言語用のCitrix IMEが自動的に適用されます。詳細についてはこちらをご覧ください。
Windows 10のタッチキーボード
Windows 10には、タブレットモードをサポートするタッチキーボードがあります。ユーザーは、キーボード同期モード4を使用して、キーボードレイアウトをタッチキーボードに切り替えることができます。もう1つの設定では、CWAでアプリを開いているときにキーボードを自動的にポップアップ表示できます。この構成の詳細については、こちらをご覧ください。
その他の関連構成
リモート言語バーを表示または非表示にする
この機能はCitrix Virtual Appsにのみ適用されます。Windows VDAでは、リモートVDAに複数のキーボードレイアウトがある場合、リモート言語バーがデフォルトとして表示されます。次の構成でリモート言語バーを非表示にできます:
Citrix Workspaceアプリ | 構成 |
Windows向けCitrix Workspaceアプリ | この「言語バー」セクション |
Mac向けCitrix Workspaceアプリ | この「言語バー」セクション |
Linux向けCitrix Workspaceアプリ | 未サポート |
Android向けCitrix Workspaceアプリ | 未サポート |
iOS向けCitrix Workspaceアプリ | 未サポート |
HTML5向けCitrix Workspaceアプリ | 未サポート |
表6—言語バーの表示/非表示の構成
Linux VDAの場合、言語バーはデフォルトで非表示になります。詳細は、こちらをクリックしてください。
「キーボードレイアウトの切り替え」ポップアップメッセージボックスを表示または非表示にする
ユーザーがクライアント側でキーボードレイアウトを切り替えると、Windows VDAのキーボード同期モード4ではメッセージボックスがポップアップします。このポップアップメッセージは、Windows VDAの構成、HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IcaIme\HideNotificationWindow DWORD = 1(こちらで「ポップアップウィンドウを非表示にする」を検索)で非表示にできます 。
101、103、106キーボード
ほとんどのユーザーは101キーボードを使用しています。追加の2つの特殊キーをサポートする103キーボードは韓国語で使用され、106キーボードは日本語で使用されます。キーボードタイプは、セッションの開始時に決定されます。次の表に、日本語106キーボードの構成方法を示します。
Citrix Workspaceアプリ | 日本語106キーボードのサポート |
Windows向けCitrix Workspaceアプリ | セッションの開始時または構成時にクライアントのキーボードタイプを自動的に検出します:
ファイルパス: “%appdata%\ICAClient\WFCLIENT.ini” [WFClient]の設定を変更:KeyboardType=106 Keyboard (Japanese) |
Mac向けCitrix Workspaceアプリ | ファイルパス:“~/Library/Application Support/Citrix Receiver/Config”
[WFClient]の設定を変更:KeyboardType=106 Keyboard (Japanese) |
Linux向けCitrix Workspaceアプリ | ファイルパス:“~/.ICAClient/wfclient.ini”
[WFClient]の設定を変更:KeyboardType=106 Keyboard (Japanese) |
Android向けCitrix Workspaceアプリ | 未サポート |
iOS向けCitrix Workspaceアプリ | 未サポート |
HTML5向けCitrix Workspaceアプリ | 未サポート |
表7 —日本語106キーボードのサポート
付録A.ファイル内のキーボード名
構成ファイル内のキーボード名 | Windowsキーボードレイアウト識別子 | Windows 10のキーボード名 |
ベルギーオランダ語 | 0x00000813 | オランダ語(ベルギー)
ベルギー(ピリオド)キーボード |
ベルギーフランス語 | 0x0000080C | オランダ語(ベルギー)
ベルギーフランス語キーボード |
ブラジル語(ABNT) | 0x00000416 | ポルトガル語(ブラジル)
ポルトガル語(ブラジルABNT)キーボード |
イギリス英語 | 0x00000809 | 英語(イギリス)
イギリスキーボード |
カナダ英語(マルチリンガル) | 0x00001009 | 英語(カナダ)
USキーボード |
カナダフランス語 | 0x00000C0C | 英語(カナダ)
カナダフランス語キーボード |
クロアチア語 | 0x0000041A | クロアチア語(クロアチア)
標準キーボード |
チェコ語 | 0x00000405 | チェコ語
チェコ語キーボード |
デンマーク語 | 0x00000406 | デンマーク語
デンマーク語キーボード |
オランダ語 | 0x00000413 | オランダ語(オランダ)
オランダ語キーボード |
フィンランド語 | 0x0000040B | フィンランド語
フィンランド語キーボード |
フランス語 | 0x0000040C | フランス語 (フランス)
フランス語キーボード |
ドイツ語 | 0x00000407 | ドイツ語(ドイツ)
ドイツ語キーボード |
ギリシャ語 | 0x00000408 | ギリシャ語
ギリシャ語キーボード |
ハンガリー語 | 0x0000040E | ハンガリー語
ハンガリー語キーボード |
アイスランド語 | 0x0000040F | アイスランド語
アイスランド語キーボード |
イタリア語 | 0x00000410 | イタリア語(イタリア)
イタリア語キーボード |
イタリア語(142) | 0x00010410 | イタリア語(イタリア)
イタリア語(142)キーボード |
日本語(JIS) | 0xe00010410 | 日本語
Microsoft IME |
韓国語 | 0xe00010412 | 韓国語
Microsoft IME |
ラテンアメリカ言語 | 0x0000080A | スペイン語(メキシコ)
ラテンアメリカキーボード |
ノルウェー語 | 0x00000414 | ノルウェー語(ブークモール)
ノルウェー語キーボード |
ポーランド語(プログラマー) | 0x00000415 | ポーランド語
ポーランド語(プログラマー)キーボード |
ポーランド語(214) | 0x00010415 | ポーランド語
ポーランド語(214)キーボード |
ポルトガル語 | 0x00000816 | ポルトガル語(ポルトガル)
ポルトガル語キーボード |
ルーマニア語 | 0x00000418 | ルーマニア語(ルーマニア)
ルーマニア語(レガシー)キーボード |
ロシア語 | 0x00000419 | ロシア語
ロシア語キーボード |
スロバキア語 | 0x0000041B | スロバキア語
スロバキア語キーボード |
スロベニア語 | 0x00000424 | スロベニア語
スロベニア語キーボード |
スペイン語 | 0x0000040A | スペイン語(スペイン)
スペイン語キーボード |
スペイン語バリエーション | 0x0001040A | スペイン語(スペイン)
スペイン語バリエーションキーボード |
スウェーデン語 | 0x0000041D | スウェーデン語(スウェーデン)スウェーデン語キーボード |
スイスフランス語 | 0x0000100C | フランス語 (フランス)
スイスフランス語キーボード |
スイスドイツ語 | 0x00000807 | ドイツ語(スイス)
スイスドイツ語キーボード |
トルコ語(F) | 0x0001041F | トルコ語
トルコ語Fキーボード |
トルコ語(Q) | 0x000041F | トルコ語
トルコ語Qキーボード |
US | 0x00000409 | 英語(US)
USキーボード |
US-Dvorak | 0x00010409 | 英語(US)
US-Dvorakキーボード |
US-インターナショナル | 0x00020409 | オランダ語(オランダ)
US-インターナショナルキーボード |