12

我的 NX 会话的键盘映射出现乱码问题。

我有一台运行 OS X Lion 的 Macbook Air。我使用 OpenNX 启动与运行 FreeNX 的 Ubuntu 服务器的会话。会话类型是 Gnome。

我的键盘映射非常偏离(例如 w 给出 =,delete 给出“,”,t 给出 w)。我试过了:

xmodmap -pke > nxclient.xmodmap

在客户端上,并且,

xmodmap nxclient.xmodmap

在服务器上,我恢复了许多密钥,但它仍然无法使用。我尝试了 Gnome 键盘布局,但没有奏效。XFCE 会话也会出现此问题。

我会很感激任何提示。x2go 使用 Gnome 在客户端和服务器上工作,没有任何问题。不幸的是,它目前不适用于 Mac OS X Lion。

4

7 回答 7

3

我发现了一个非常简单的解决方案:断开 X2Go 会话并重新连接。这为我解决了 Mac 键盘问题(这似乎在 OS X Lion 之外仍然存在)。

于 2016-06-17T21:15:35.850 回答
3

我想提供一个完整的实用解决方案。我在一些Fedora FC20机器上遇到了同样的问题。这就是复制和粘贴工作的完整方法。

username是您使用 ssh 远程连接到您需要运行的机器的用户名x2go,并且machine是该机器的主机名。

注意:如果您在目标机器上有自定义键映射,它们往往会搞砸x2go。为了完成这项工作,我需要重置键盘映射并设置一个裸English (US)。我正在使用带死键的国际英语(美国),但它不起作用......

已在 Mac Book Pro Mid 2010、2011 和 2013 上进行了测试。新的 Retina 机器似乎不受此错误的影响。

  1. xmodmap在您的本地机器(客户端机器)上使用创建键盘映射定义文件, XQuartz 可能是使此命令可用所必需的。顺便用一下也是必须x2go的。

    xmodmap -pke > osx-keymap
    

    如果xmodmap未找到,则意味着它不在 中PATH,如果您安装了 XQuartz,则应将命令放置在其中/usr/X11/bin/xmodmap,而不是仅xmodmap在其前面添加完整路径。

  2. 将一些修饰符附加到文件中(如来自ato的答案)

    echo '! Now reset all the modifiers too
    !
    clear shift
    clear lock
    clear control
    clear mod1
    clear mod2
    clear mod3
    clear mod4
    clear mod5
    add shift = Shift_L Shift_R
    add lock = Caps_Lock
    add control = Control_L Control_R
    add mod1 = Alt_L Alt_R
    add mod2 = Meta_L Meta_R' >> osx-keymap
    
  3. 在机器上加载文件(username是您在机器上登录的用户名。更改它!)

    scp osx-keymap username@machine:~/.Xmodmap 
    
  4. 在桌面上创建一个脚本,如果键盘不起作用,只需使用鼠标即可运行

    ssh username@machine <<"STR"
    echo '#/usr/bin/env bash
    xmodmap ~/.Xmodmap;'>~/Desktop/fix_keyboard.sh; chmod +x ~/Desktop/fix_keyboard.sh
    STR
    
  5. x2go. 基本上它应该工作。

如果它仍然不起作用,请尝试:

  • 断开连接并重新连接x2go
  • 用鼠标单击run_keyboard.sh桌面上的 并选择Run
  • 像以前一样,但随后断开连接并重新连接x2go
  • 不幸的是,这不是一个完整的解决方案。据报道,有些计算机无法使用它
于 2017-02-07T16:06:08.897 回答
2

将此附加到您nxclient.xmodmap生成的末尾xmodmap -pke以获得可用的布局:

!
! Now reset all the modifiers too
!
clear shift
clear lock
clear control
clear mod1
clear mod2
clear mod3
clear mod4
clear mod5
add shift = Shift_L Shift_R
add lock = Caps_Lock
add control = Control_L Control_R
add mod1 = Alt_L Alt_R
add mod2 = Meta_L Meta_R
于 2013-10-11T05:02:46.430 回答
2

@Simon 在问题的评论中给出了这个答案,对我有用(x2go / Xquartz):

在 OSX 上做:

xmodmap -pke > keymap-x2go-osx.xmodmap
echo "xmodmap ~/keymap-x2go-osx.xmodmap" > x2go-xinit

keymap-x2go-osx.xmodmap从@ato 的答案编辑并添加修改器重置,然后将其复制到VM:

scp keymap-x2go-osx.xmodmap -P your_port your_ip:/home/your_user/
scp x2go-xinit -P your_port your_ip:/home/your_user/.xinit
于 2017-01-17T22:05:19.480 回答
0

对我有用的是系统菜单 -> 键盘 -> 布局选项卡 -> 键盘型号 -> 苹果 -> Macintosh old。但是,也有问题。我似乎无法使用Control+ CControl+V或箭头键。.nxs如果您的箭头键有效,如果您告诉我您的键盘选项是什么样的,我将不胜感激。

于 2011-12-12T17:16:58.273 回答
0

尝试将您的 Shell 从 tcsh 更改为 bash。Tcsh 导致键盘问题。

于 2015-02-24T21:32:44.137 回答
0

我们遇到了同样的问题,虽然运行 xfce,这与 gnome2 类似。我刚刚找到了一个解决方案(运行 Mac OSX 10.9.1):

  • 下载最新的 x2go 客户端(发布时为 4.0.1.3)
  • 将您的 x2go-session 设置为“自动检测键盘设置”
  • 连接并意识到例如制表符仅在您另外按下控制键时才起作用。
  • 解决方案:编辑“~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml”(在服务器上)中的键盘快捷键并删除设置为“Super + Tab”的条目
  • 享受您的功能键盘

学分去goofrider

于 2014-01-27T23:01:02.587 回答