WinBoatとは
WinBoatはWindowsアプリをLinuxデスクトップでシームレスに動作させるOSSです。Dockerコンテナ上でWindowsを動かし1、FreeRDPで映すという構造になっています。VM上で動かすため、Officeも動作してくれます。
試しに導入したところWindows側でUS配列として認識しているようで、全角半角キーが`(バッククオート)になっていたため、日本語入力ができませんでした。
筆者の環境
| Key | Value | 備考 |
|---|---|---|
| ホストOS | CachyOS | |
| デスクトップ環境 | KDE Plasma 6.5.4 | Wayland |
| キー配列 | JIS配列 | Dell Latitude 5320 |
| Winboat | winboat-bin 0.9.0-1 | AURから導入 |
| Windows | Windows11 Pro 25H2 | Winboat デフォルトiso |
| Windowsロケール | 日本語 |
解決法
Windowsのレジストリを編集し、JIS配列として認識させることによって修正します。
以下の記事を参考にしました。
Win+R で regedit を入力してレジストリエディタを開き、以下のレジストリを開きます。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000411
Layout File を「KBDJPN.DLL」から「kbd106.dll」に書き換えます。
レジストリエディタで編集するのは面倒だったのでコマンドプロンプトで実行するだけで修正できるようにしました。管理者権限でコマンドプロンプトを開き、以下のコマンドを実行後、Windowsを立ち上げ直すと修正されます。
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000411" /v "Layout File" /t REG_SZ /d "kbd106.dll" /f
この方法はRDP接続ならばほとんどの場合で修正できると思います。
おまけ
時刻もズレていたので、以下を参考に修正しました。
-
Dockerコンテナ上でKVM/QEMUを使用しているようです。 ↩