![xrdp - 如何更改键盘布局](https://linux22.com/image/848236/xrdp%20-%20%E5%A6%82%E4%BD%95%E6%9B%B4%E6%94%B9%E9%94%AE%E7%9B%98%E5%B8%83%E5%B1%80.png)
当我从 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