Phi*_*oud 5 vnc libvirt kvm-virtualization
我在 Debian 9.9 上安装了 kvm 来宾和主机,在 AMD 机器上安装了 kde
qemu-kvm 1:2.8+dfsg-6+deb9u7 amd64
fr-ch
的可用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。