リモートデスクトップのRemoteAPPにIMEバーを表示させる方法

リモートAPPにIMEバー

リモートデスクトップのRemoteAPP(リモートアップ)は、あたかも自分のデスクトップで実行しているように、リモートデスクトップサーバ(RDS)で実行されているアプリケーションなどのウインドウを表示させることが出来るもの。Windows2016まではユーザCALでもADは不要なので、そこそこ使える。Windows2019以降はADが絡んでくるので、色々な問題が発生しているようだ。(←現在格闘中・・・)

そこで一つ問題が出てきた。

外字や変換等でローカル環境のIMEを使う事が出来ないからだ。漢字変換をしても、予測などの漢字変換対象しか表示されない。RDSサーバ自体にリモートデスクトップか通常ログインを行って、サーバのIMEからユーザ辞書を使って登録することで変換対象として出てくるが、毎度このサーバの操作が必要になってくる。個人レベルならいいが、やはり企業としての利用であれば問題になる。

解決方法

その場合、以下の1行をRDSのRDPファイルに追加するだけで、RemoteAPPを表示した時に、IMEバーを表示させることが出来る。

disableseamlesslanguagebar:i:1

※ただし、ドメインを使用しているRDSに限る。何故かドメイン無しのRDSでは効かない。

通常リモートAPPでは、RemoteWEBを表示させ、利用可能なアプリアイコンをクリックすることで実行するので、上記一行を下記レジストリに記録しなくてはならない

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\CentralPublishedResources\PublishedFarms\[コレクション名]\Applications\[RemoteApp名]
値:RDPFileContentsの値に「disableseamlesslanguagebar:i:1」を追加。
※AD環境でのレジストリ

レジストリで値を追加する場合、値文字列最後に見えない改行コードが含まれているので、カーソルを一番最後まで移動してから値を追加する。これをしないと改行されず、RDPファイルが不完全なものとなる。改行コード自体はバイナリエディタでしか追加できない[0D 00 0A 00]ので、間違って消してしまった場合は、もう一度アプリを登録し、やり直した方が良い。

それでもいいのだが、もっと簡単なのは、IEだと自動実行してしまうが、クローム等はRemoteWEBのアイコンをクリックしてもRDPファイルがダウンロードされるだけなので、そのダウンロードされたファイルをテキストエディタで開き、上記一行をどこでもいいから追加し、そのファイル自体を実行することでRemoteAPPを表示させる事が出来る。

ユーザ個人単位で変更したい場合は、この方法をお勧めする。多数ユーザで配布が手間であれば、レジストリ変更を行う方がいいでしょう。