Citrix Virtual Apps and Desktopsでは、言語やプラットフォームなど、ユーザーやIT管理者の要件に対応するために、キーボードや入力システム(IME)に関連する豊富な構成が提供されています。ただし、Citrix WorkspaceアプリのさまざまなクライアントやOSプラットフォームなどの要因により、キーボードとIMEを正しく構成することが難しい場合があります。

この記事では、さまざまな展開シナリオに従ってキーボードとIMEを正しく構成する方法について説明します。「キーボード」という用語は、「キーボードレイアウト」のほか、101キーボード、103キーボード、106キーボードなどの物理キーボードにも使用していますので注意してください。

キーボード同期モード

Citrix Virtual Apps and Desktopsは、クライアント側のキーボードとVDA側のキーボードの両方をサポートしています。よくある問題が1つありますが、それは何でしょうか?それは、どちら側のキーボードが適用されるかという問題です。基本的なルールは次のとおりです:

  1. クライアントがWindows向けCitrix Workspaceアプリの場合、VDA側のキーボードが適用されます。
  2. クライアントがWindows以外(Mac、Linux、iOS、またはAndroid)のCitrix Workspaceアプリの場合、クライアント側のキーボードが適用されます。
  3. ルール#1または#2が機能しない場合、構成が正しくないか、Citrix Virtual Apps and Desktopsがそのタイプのシナリオをサポートしていない可能性があります。このような場合は、 Citrixカスタマーサービスにお問い合わせください。

よくあるもう1つの問題は、ユーザーがセッションにログインまたは再接続するときにVDA側で設定されるキーボードのタイプです。クライアントのキーボードレイアウトを使用していますか?クライアントのキーボードレイアウトを使用していない場合、どのキーボードレイアウトが使用されていますか?これは、キーボード同期モードの設定によって異なります。Citrix Virtual Apps and Desktopsでは、次の4つのキーボード同期モードをサポートしています:

  1. VDAへのログインまたは再接続時にVDA側のデフォルトキーボードを使用する:クライアントがAndroid向けCitrix WorkspaceアプリとiOS向けCitrix Workspaceアプリの場合のデフォルト設定です。この設定は、StoreFrontのクライアント構成ファイルまたはicaファイルを使用して構成できます。クライアント側でのキーボードレイアウトの変更は、セッションではVDA側に同期されません。
  2. VDAへのログインまたは再接続時に特定のキーボードを使用する:VDAへのログインまたは再接続時に、StoreFrontのクライアント構成ファイルまたはicaファイルを使用して特定のキーボードレイアウトを構成できます。クライアント側でのキーボードレイアウトの変更は、セッションではVDA側に同期されません。
  3. VDAへのログインまたは再接続時にのみVDA側のキーボードをクライアントのデフォルトキーボードと同期する:クライアントがWindows、Mac、またはLinux向けCitrix Workspaceアプリの場合のデフォルト設定です。クライアント側でのキーボードレイアウトの変更は、セッションでVDA側に同期されません。
  4. 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-インターナショナルキーボード