使用 NX 客户端时键盘映射不正确

far*_*011 12 keyboard client nx

我在 Ubuntu 中遇到 nomachine NX-client 的问题。好像是keymapping有问题。例如,箭头键不起作用(除了向上键打开打印屏幕!)。我在网上搜索并找到了几种解决方案。然而,他们都没有为我工作:

解决方案 1)

在服务器上,将 System->Preferences->Keyboard->Layouts 更改为“Evdev-managed keyboard”

我登录的服务器上有 Centos 5.7,我在键盘设置中找不到“Evdev-managed keyboard”布局。我尝试了其他几种通用键盘布局,但没有成功。

解决方案2)

将以下行添加到/etc/X11/xorg.conf

Section "ServerFlags"
Option "AutoAddDevices" "false"
EndSection
Run Code Online (Sandbox Code Playgroud)

我做到了,我的键盘完全停止工作了!我不得不使用屏幕键盘删除此设置并恢复正常。

解决方案 3)

xmodmap -pke > localxmodmap本地运行

将文件复制到服务器作为 .Xmodmap

xmodmap ~/.Xmodmap从终端运行。

这给了我一堆错误,例如:

xmodmap:  /home/fzc23/.Xmodmap:60:  bad keysym name 'XF86Switch_VT_1' in keysym list
Run Code Online (Sandbox Code Playgroud)

并且不起作用。

我不知道还能做什么。如果有人可以帮助我,我将不胜感激。

顺便说一句,Windows 上的 NX 客户端连接到同一台服务器,没有键映射问题,所以我相信这是 Ubuntu 中的问题,与服务器端无关。

小智 13

我在 Gentoo 下遇到了同样的问题。我不能保证这会在 CentOS 5 服务器上运行,但这在 Gentoo 服务器上对我有用。

在您的 nx 会话中,打开一个终端窗口并运行:

setxkbmap -model evdev -layout us
Run Code Online (Sandbox Code Playgroud)

如果它不是美国布局,则用您想要的布局替换“我们”。您的键盘映射现在应该是正确的。如果使用 .xsession/.xinitrc 样式脚本启动 nx 会话,则可以将 setxkbmap 命令添加到启动脚本中。