我安装了带有 VNC 服务器的 Ubuntu MATE 18.04 LTS(tightvncserver
)。
我使用默认设置从另一台机器(VNC 客户端)使用 Remmina 1.1.2(如 16.04 LTS)连接到此 VNC 服务器。
使用 VNC 客户端我看到键盘:
- 如果我运行基于 GTK 的应用程序,则所有按键都能在 Pluma、Chromium、MATE 终端中正常解释;
- 在基于 NCurses 的应用程序中正常工作 - 所有按键在 Nano 和 Midnight Commander 编辑器中都被正常解释;
- 在基于 Qt5 的应用程序(如 Kate、Retext、Qt5 Assistant 等)上运行时出现错误 - 此处带有字母和数字的键混乱,Alt被Shift解释为数字;Enter被解释为Space。
什么可能导致 Qt-apps 中出现这种奇怪的行为?我应该调整哪些设置?在哪一侧 - 在客户端还是在服务器上?
一些调试信息 - VNC 会话的终端输出kate
:setxkbmap
$ setxkbmap XKB extension not present on :1 $ kate Qt: XKEYBOARD extension not present on the X server.
这可能是一个线索。
答案1
这是 Qt 版本 <5.11 中的错误:
- https://bugreports.qt.io/browse/QTBUG-44938
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=814959
- https://bugs.launchpad.net/bugs/1831505
因此,受影响的 Ubuntu 版本列表包括两个当前 LTS 版本 - 16.04 LTS 和 18.04 LTS。该错误已在 18.10 和 19.04 中修复,但它们不是 LTS,因此我们需要针对 LTS 版本的稳定可用解决方案:
对于 16.04 LTS 版本,存在以下解决方案 - 设置
x11vnc
服务器并使用它代替tightvncserver
。
它非常快速、可靠和稳定。需要注意的是埃波普特斯用于实时监控和协助多个LTSP客户。对于 18.04 LTS,必须安装
tigervnc-standalone-server
并设置它。