我在一台 AMD 机器上安装了 Debian 9.9 和 kde 的 kvm 客户机和主机
qemu-kvm 1:2.8+dfsg-6+deb9u7 amd64
- 当连接到虚拟查看器,我的键盘布局是在职的(fr-ch) 实际上,我不知道可用布局列表在哪里,以确认我的布局
fr-ch
是否可用 - 当连接任何VNC 客户端,我的键盘布局是不工作布局难以理解....
我试过
- 改变指令写入 xml使用
sudo virsh edit myVmGuest
=>keymap='fr-ch'
进入图形部分(不起作用) - 将键盘布局更改为 kde 客户机(均不起作用)
- 更改我的 vnc 客户端
答案1
VNC 协议中的标准按键处理与虚拟化非常不匹配,因为它涉及将 X 键符号发送到服务器。VNC 客户端计算机上的硬件扫描代码被转换为键符号,然后发送到 QEMU,QEMU 随后将它们重新转换为硬件扫描代码,然后将其发送到客户机,客户机再将它们重新转换为键符号。要使此方法成功,本地笔记本电脑上的按键映射需要与 QEMU 中的按键映射设置相匹配,而 QEMU 中的按键映射设置需要与客户机中的按键映射设置相匹配。即便如此,它通常也不完美。
因此 QEMU 定义了 VNC 协议扩展,用于从 VNC 客户端发送硬件扫描代码。这避免了在 VNC 客户端机器或 QEMU 中进行任何类型的转换。硬件扫描代码从 VNC 客户端发送到 QEMU,然后 QEMU 将其发送给客户机。只有客户机需要进行转换。
virt-viewer 应用程序使用支持此协议扩展的 GTK-VNC 库,因此它对您来说很适用。
远程查看器应用程序与 virt-viewer 属于同一代码库,因此可以提供正确支持此协议扩展的普通 VNC 客户端。
尝试使用 QEMU 配置键盘映射确实不值得,因为结果总是比使用 VNC 协议扩展进行扫描码更糟糕。
大多数历史 VNC 客户端都不是支持扩展,但我认为 tigervnc 确实支持该扩展。因此,如果您不使用或无法使用 virt-viewer 或 remote-viewer,请尝试使用 tigervnc。