xrdp - 如何更改键盘布局

xrdp - 如何更改键盘布局

当我从 Windows 7 计算机向我的 Ubuntu 计算机打开 xrdp 会话时,会使用美国键盘布局。但是,我的默认键盘布局在 Ubuntu 计算机上有所不同,我想在 xrdp 会话期间使用它。我该如何解决这个问题?

答案1

我想在这里做出贡献,因为似乎没有什么指导。

找到您需要的语言/键盘输入这里

例如 fr-be 法语(比利时)是 080C。

然后运行这些命令来为您选择的输入生成键盘映射。

xrdp-genkeymap km-080C.ini

将其复制到 xrdp 文件夹中

sudo mv km-080C.ini /etc/xrdp

请记住,您必须更改文件的权限,以便可以使用它

sudo chown root:root /etc/xrdp/km-080C.ini

重新启动服务即可

sudo service xrdp restart

答案2

对我来说,运行下一个命令就足够了,以便在 X 中设置正确的键盘映射

setxkbmap be

您必须将“be”替换为您的土地代码。您可以使用以下代码查看当前值

setxkbmap -query

答案3

不幸的是,以上答案都不能完全解决我的问题。

查看目录后,sudo ls /etc/xrdp/我发现.ini文件有更多 0 前缀,因此我必须执行以下操作才能使其工作。

sudo xrdp-genkeymap /etc/xrdp/km-00000424.ini(斯洛文尼亚布局)

然后另外编辑文件sudo vi /etc/xrdp/xrdp-keyboard.ini并在每个部分后添加以下行:

[default_rdp_layouts]
rdp_layout_si=0x00000424

; <rdp layout name> = <X11 keyboard layout value>
[default_layouts_map]
rdp_layout_si=si

[rdp_layouts_map_mac]
rdp_layout_si=si

我希望这对某人有帮助。

答案4

不幸的是,使用 ini 文件的操作对我来说不起作用。我最多只能得到额外的布局,它们也是英文的。所以我最终得到了 3 个名字奇怪的英文布局。有帮助的是将它添加到开始在第一行之后,例如/etc/xrdp/startwm.sh/etc/xrdp/reconnectwm.sh

( sleep 3; setxkbmap -model pc105 -layout us,ru -option grp:alt_shift_toggle )&

或者,如果您想从系统范围的设置文件设置 XRDP 键盘布局/etc/default/keyboard(这可能就是您想要的),那么请这样写:

. /etc/default/keyboard
( sleep 3; setxkbmap ${XKBMODEL:+-model "$XKBMODEL"} ${XKBLAYOUT:+-layout "$XKBLAYOUT"} ${XKBVARIANT:+-variant "$XKBVARIANT"} ${XKBOPTIONS:+-option "$XKBOPTIONS"} )&

顺便说一下,设置系统范围的键盘设置文件/etc/default/keyboard本身可以通过以下方式完成:

  • 手动编辑
  • 使用配置实用程序:dpkg-reconfigure keyboard-configuration
  • 使用命令行实用程序:localectl set-x11-keymap us,ru pc105 , grp:alt_shift_toggle

相关内容