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文件,然后就可以输入了。
 

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

相关推荐
程序设计实验室3 小时前
在 Windows 11 上使用 Hyper-V 虚拟机准备安装OpenClaw
windows
唐宋元明清21881 天前
.NET Win32磁盘动态卷/跨区卷触发“函数不正确”问题排查
windows·c#·存储
阿白的白日梦8 天前
winget基础管理---更新/修改源为国内源
windows
埃博拉酱12 天前
VS Code Remote SSH 连接 Windows 服务器卡在"下载 VS Code 服务器":prcdn DNS 解析失败的诊断与 BITS 断点续传
windows·ssh·visual studio code
唐宋元明清218813 天前
.NET 本地Db数据库-技术方案选型
windows·c#
加号313 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
tryCbest13 天前
Windows环境下配置pip镜像源
windows·pip
呉師傅13 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
百事牛科技13 天前
保护文档安全:PDF限制功能详解与实操
windows·pdf
一个人旅程~13 天前
如何用命令行把win10/win11设置为长期暂停更新?
linux·windows·经验分享·电脑