我正在通过远程桌面连接到新安装的 Ubuntu 12.04(安装 xrdp 后)。一切似乎都运行正常,只是键盘映射针对的是美国而不是英国。
我查看了键盘布局设置,显示“us”可用,但没有其他语言。如果我尝试添加其他布局,似乎没有可用的。
登录机器本身时会显示英语(英国)作为语言环境,如果我尝试添加新语言,则会显示所有语言均可用。
我已经尝试过 ubuntu-2d 和 gnome-classic。
有人可以解释一下这个问题吗?
答案1
我在连接到 AWS 上的远程实例时遇到了完全相同的问题。这似乎与 xrdp 有关。例如,请参阅此主题,其中描述了详细的解决方法。
编辑:我花了一段时间才回到这个问题,但由于这个帖子中没有进一步的活动,我终于有时间按照评论中的建议(要求?)添加详细信息。
这些是我必须执行的步骤来修复 Ubuntu 12.04 中 xrdp 中的键盘布局。原始链接很有帮助,但有点过时。我还在 rdesktop 项目中找到了有用的信息,用于查找国家代码:这里和这里。
打开控制台并将 xkb 地图设置为正确的模型和布局。
setxkbmap -model pc105 -layout no
将模型和布局语言代码替换为您认为正确的代码。我刚刚
setxkbmap -print
在客户端 PC(顺便说一下,它也运行 Ubuntu 12.04)上运行了这些值,以了解这些值。请注意,setxkbmap
需要有一个显示器才能运行。您可以通过 RDP 会话运行控制台,或者甚至可以使用 X 显示重定向通过 ssh 登录,如下所示ssh -X <server>
。生成 XRDP 键盘映射文件:
xrdp-genkeymap km-0414.ini sudo mv km-0414.ini /etc/xrdp sudo chown root:root /etc/xrdp/km-0414.ini
将国家代码 0414 替换为您所在国家/地区的正确代码。请参阅rdesktop 文档为您找到正确的代码。
重新启动 xrdp 服务:
sudo service xrdp restart
答案2
我遇到了同样的问题,就我而言,只需运行:
setxkbmap
无需任何选择,即可解决问题
答案3
也遇到了这个问题,但通过在控制台中运行以下命令解决了它:
setxkbmap ua
这是乌克兰语键盘映射。选择键盘上的语言。我的键盘通过 VNC 连接。它也适用于 CentOS 7。答案在这里找到:https://askubuntu.com/a/580428/644928
更新 特殊字符(例如“# @”)不起作用。以下命令有帮助:
setxkbmap ua -model pc105
更新 我使用 Windows RealVNC 连接到 СentOS。Centos 仅设置为英语。Windows 有乌克兰语和英语。语言切换仅在 Windows 中,并传递到 Linux。语言/键盘映射的问题一直存在,直到我将 Linux 上的远程控制从 TigerVNC 更改为 TurboVNC。
答案4
我是个新手,所以这可能只与 Ubuntu 的更高版本(我在 17.04)或 XOrg/Xfce 有关,但 seb 和 Steinar 的解决方案对我来说只暂时有效,只要我注销然后返回 RDP 会话,键盘就会重置为美国。
我在此底部找到了解决方案让 x11rdp 在 Debian 8 上运行针对 Debian 对我来说是可行的(您可能需要根据需要使用 sudo):
wget https://www.dropbox.com/s/rtxp19ts17k8qy8/km-0809.ini
cp km-0809.ini /etc/xrdp/
sed -i '/\[default_rdp_layouts\]/a rdp_layout_gb=0x00000809' /etc/xrdp/xrdp_keyboard.ini
sed -i '/\[default_layouts_map\]/a rdp_layout_gb=gb' /etc/xrdp/xrdp_keyboard.ini
现在每次我登录时,键盘都会设置为 en-gb,并且“和 @ 可以按预期工作。