XRDP在Windows下用远程桌面连接,键盘失效问题

情况如下:

使用 windows远程linux图形化界面键盘乱序

大概是如下这样的情况

1 2 3 4 5 6 7 8 9 z y
正常情况 ! @ # $ % ^ & * ( z y
乱码情况 ~ " à é . . . . . y z

处理办法:

第一步

桌面远程上不去

ssh 可以登录,直接连接IP地址

上去之后输出命令查看 xrdp对应的keymap文件

bash 复制代码
先找到keymap文件位置
默认是在/etc/xrdp/目录下

find / -name 'km*.ini'
find: '/proc/608932': No such file or directory
find: '/proc/609143': No such file or directory
/etc/xrdp/km-0000040a.ini
/etc/xrdp/km-0000040b.ini
/etc/xrdp/km-0000040c.ini
/etc/xrdp/km-00000410.ini
/etc/xrdp/km-00000411.ini
/etc/xrdp/km-00000412.ini
/etc/xrdp/km-00000414.ini
/etc/xrdp/km-00000419.ini
/etc/xrdp/km-0000041d.ini
/etc/xrdp/km-00000807.ini
/etc/xrdp/km-0000080c.ini
/etc/xrdp/km-00000813.ini
/etc/xrdp/km-00000816.ini
/etc/xrdp/km-19360409.ini
/etc/xrdp/km-00000804.ini
/etc/xrdp/km-00000406.ini
/etc/xrdp/km-00000407.ini
/etc/xrdp/km-00000409.ini
/etc/xrdp/km-00000415.ini
/etc/xrdp/km-00000416.ini
/etc/xrdp/km-00000809.ini
/etc/xrdp/km-0000080a.ini
/etc/xrdp/km-0000100c.ini
/etc/xrdp/km-00010409.ini
这些就是具体的输入法对应的编码

第二步

查看 windows 输入法(编码) 顺序

win + R 输入:REGEDIT

找到 "HKEY_CURRENT_USER\Keyboard Layout\Preload"分支

bash 复制代码
E0200804 代表的是搜狗输入法
E0200804 紫光输入法*①
E00E0804 微软拼音输入法
E0040804 智能abc输入法
E0050804 区位码输入法
E0010804 全拼输入法
E0100804 五笔输入法
00000409 英文输入法
E0030804 郑码输入法
E0020804 双拼输入法
00000804 中文输入法(简体)-美式键盘

E0200804这个不一定是紫光的,他可能是谷歌、搜狗、智能陈桥、拼音加加Plus、紫光中的任一种
(还可能是与这些输入法输入状态栏一样的其他拼音输入法),
这个取决于你系统先安装这几个输入法中的哪一个,那个就是E0200804

通过上面,知道了我的windows系统第一输入法是E0200804, 而在Linux系统下Xrdp默认的keymap文件中,是没有"km-E0200804.ini"这个文件的,这就导致xrdp无法读取keymap文件,无法进行键盘映射,从而导致了我们无法再xrdp界面中输入且输入乱序。

通过修改windows本机的注册表配置对应的编码即可

bash 复制代码
win + R 输入:REGEDIT
找到 "HKEY_CURRENT_USER\Keyboard Layout\Preload"分支

我们把windows注册表中HKEY_CURRENT_USER\Keyboard Layout\Preload中的默认或者1,
编辑成00000409, 即英文输入法,
这样,xrdp就会去读取"/etc/xrdp/km-00000409.ini" keymap文件,然后就可以输入了。
 

需要注意的是,修改注册表之后,记得重启系统。或者是注销一下,让其起作用。

相关推荐
久绊A3 小时前
Python 基本语法的详细解释
开发语言·windows·python
苏慕TRYACE3 小时前
RT-Thread+STM32L475VET6——USB鼠标模拟
stm32·单片机·嵌入式硬件·计算机外设·rt_thread
菜鸟单飞13 小时前
介绍一款非常实用的PDF阅读软件!
windows·pdf·电脑
流星白龙17 小时前
【Linux】35.封装 UdpSocket(2)
linux·运维·windows
waicsdn_haha18 小时前
Visual Studio Code 2025 安装与高效配置教程
c语言·ide·windows·vscode·微软·编辑器·win7
ChoSeitaku19 小时前
12.重复内容去重|添加日志|部署服务到Linux上(C++)
linux·c++·windows
Major_xx20 小时前
装win10系统提示“windows无法安装到这个磁盘,选中的磁盘采用GPT分区形式”解决方法
windows·gpt
CoderIsArt20 小时前
Windows图形开发库Kernel32,OpenGL32,Glu32,Gdi32与User32
windows
伪装成塔的小兵20 小时前
Windows使用docker部署fastgpt出现的一些问题
windows·docker·容器·oneapi·fastgpt
开开心心就好21 小时前
娱乐使用,可以生成转账、图片、聊天等对话内容
windows·python·智能手机·软件工程·娱乐·软件需求