我在 Debian 9.9 上安装了 kvm 来宾和主机,并在 AMD 机器上安装了 kde
qemu-kvm 1:2.8+dfsg-6+deb9u7 amd64
- 与virt-viewer连接时,我的键盘布局实际上正在工作(fr-ch),我不知道可用布局列表在哪里以确认我
fr-ch
的可用 - 与任何vnc 客户端连接时,我的键盘布局无法正常工作,布局无法理解....
我试过了
- 使用=>将指令更改为 xml 到图形部分(不起作用)
sudo virsh edit myVmGuest
keymap='fr-ch'
- 将键盘布局更改为 kde guest(均无效)
- 更改我的 vnc 客户端
VNC 协议中的标准密钥处理与虚拟化非常不匹配,因为它涉及向服务器发送 X 密钥符号。VNC 客户端机器上的硬件扫描码被转换为密钥符号,然后发送到 QEMU,QEMU 然后将它们转换回硬件扫描码,然后将它们发送给客户机,客户机再次将它们转换回密钥符号。为了让它有任何工作的机会,你本地笔记本电脑上的键映射需要匹配 QEMU 中设置的键映射,它需要匹配来宾内部设置的键映射。即便如此,它通常也不完美。
因此 QEMU 定义了一个 VNC 协议扩展,用于从 VNC 客户端发送硬件扫描码。这避免了 VNC 客户端机器或 QEMU 中的任何类型的转换。硬件扫描码从 VNC 客户端发送到 QEMU,QEMU 将它们发送给来宾。只有客人需要翻译。
virt-viewer 应用程序使用支持此协议扩展的 GTK-VNC 库,因此它非常适合您。
remote-viewer 应用程序是与 virt-viewer 相同的代码库的一部分,因此可以提供正确支持此协议扩展的普通 VNC 客户端。
真的不值得尝试使用 QEMU 配置键盘映射,因为结果总是比使用 VNC 协议扩展扫描码更糟糕。
大多数历史 VNC 客户端不支持该扩展,但我认为正确执行的一个是tigervnc。因此,如果您不/不能使用 virt-viewer 或 remote-viewer,请尝试使用tigervnc。