CentOS 6.4 的问题 – NX 客户端/OpenNX 和键盘配置

CentOS 6.4 的问题 – NX 客户端/OpenNX 和键盘配置

由于 CentOS 6.4 昨天发布,我开始对其进行测试并发现了一个奇怪的问题,所以我在这里询问,以防其他人可以帮我解决问题。

我的设置

  • Linux CentOS 6.3 服务器 + XFCE-4
  • 使用 Windows 7 中的 NX 客户端进行远程访问。也可以与 OpenNX.net 客户端配合使用。
  • 我有一个国际键盘,型号:pc105 + 布局:es,所有键都工作正常,特殊字符,我不需要做任何特殊的事情来让它工作,它就可以工作。

我运行了yum update,所有新的软件包都下载了,服务器现在运行的是 CentOS 6.4,其他配置没有变化。

问题是,更新后,当我通过 NX Client 或 OpenNX.net 连接时,键盘未被设置,据我所知:

  • 大多数按键看起来像是美式键盘
  • 无法输入字母“P”(说真的,这是我唯一无法输入的字母,什么都没有发生)

当我打开终端并执行“setxkbmap”(必须通过 ssh 访问服务器并创建脚本,因为无法在命令中输入“p”)时,这是输出:

Couldn't interpret _XKB_RULES_NAMES property
Use defaults: rules - 'base' model - 'pc105' layout - 'us'

使用一个脚本我设法执行了:

setxkbmap -model pc105 -layout es

这解决了特殊字符的问题,但我仍然无法输入字母“P”

我做过的其他测试:

  • 安装了另一个 CentOS-6.4(来自 6.4 CD,无更新)
  • 键盘映射在主控制台上运行良好,已使用 GNOME(startx)和 XFCE(startxfce4)进行测试
  • 当从其他主机通过 XDMCP 访问时,键盘映射工作正常
  • 如果我在服务器上安装 nx/freenx 并配置访问,也会出现同样的键盘问题。

答案1

向 CentOS 提交了一个错误(http://bugs.centos.org/view.php?id=6298)并且似乎这个问题与这个错误有关(https://bugs.freedesktop.org/show_bug.cgi?id=50553

问题出在 CentOS-6.4 中包含的 xkeyboard-config-2.6-6 包上。

更新:另一种解决方案是,您可以将所有软件包更新到 CentOS-6.4,然后运行以下命令:

# touch /usr/share/X11/xkb/keymap.dir

旧解决方案:同时,我的解决方案是将软件包降级到 CentOS-6.3 中使用的版本,并排除其再次更新。

从以下位置下载旧软件包: http://vault.centos.org/6.3/os/x86_64/Packages/xkeyboard-config-2.3-1.el6.noarch.rpm

强制删除新包并安装旧包:

rpm -e --force xkeyboard-config
rpm -ivh xkeyboard-config-2.3-1.el6.noarch.rpm

为了避免软件包再次更新,请在 /etc/yum.repos.d/CentOS-Base.repo 的 [base] 部分中添加以下行。

exclude=xkeyboard-config-*

答案2

如果您运行的是 Xfce 4.8,则 Super-p 和 Super-Tab 有默认的键绑定,这似乎会给 OpenNX 带来问题。显然有些东西让 Super 键看起来好像卡住了,但不幸的是我不知道这背后的问题。

您可以尝试删除这些绑定,看看是否能快速解决您的问题:

sed -i '/property name="<Super>p"/d' \
  ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
sed -i '/property name="<Super>Tab"/d' \
  ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml

相关内容