问题如图所示:
背景介绍:
最近尝试通过 wsl2 运行 linux 下的 GUI 程序,使用的客户端是 VcXsrv 。在公司测试没有任何问题,但是家里电脑同样的步骤配置之后就出现上面按键错乱的问题
问题排查
然后就是各种漫长吐血的排查(嫌太长可以跳过):
(首先 google 各种关键词搜,中文、英文、日文变着法子搜,搜了半天发现 VcXsrv 的官方 issue 里的确有人有同样问题,而且 2 年前就存在但是没有解决办法,没法子只能自己想办法排查了)
- 换客户端软件,不用 VcXsrv 转而使用 x410 -> 问题依旧
- 不使用 wsl2 而是新建 Hyper-v 虚拟机测试-> 问题依旧
- 然后我感觉问题可能是我键盘硬件不兼容,换了个键盘测试 -> 问题依旧
- 难道后台跑的什么软件造成的,把后台所有软件关了 -> 问题依旧
- 难道是我系统的 Hyper-V 有问题?于是在别的电脑上打开 wsl2 启动 server,有问题的电脑启动 VcXsrv 连上去测试 -> 问题还是依旧
- 然后反一下,这次是有问题的电脑打开 wsl2 启动 server,没问题的另一台电脑打开 VcXsrv 连上 server -> 这次居然没问题了???
- 感情问题还是出在我那台有问题的电脑上,莫非是我系统被我玩坏了? 进入安全模式启动 VcXsrv 测试 -> 没问题了!
- 果然是系统或软件问题,但是我之前都把后台关了啊。难道是有什么奇怪的后台?于是我在电脑上新建了一个账号,登进去,看了会"海内存知己天涯若比邻",然后启动 VcXsrv -> 问题消失了!
- 这证明我系统的确没问题,是软件问题。我看着我的屏幕,陷入了沉思,然后,我注意到了这个东西:Imgur
- 鉴于这软件平时就行为不端,抱着试试看的心态,卸载了 -> 问题直接消失
干,不亏是你啊,垃圾搜狗
结论:
就是你的锅,垃圾搜狗。害我浪费那么多时间去排查。上面我列举的步骤其实已经经过极度简化了,这些步骤之外,还包含了大量的 google 各种关键词,和去 wsl/VcXsrv 项目里去翻 issue 的步骤,实在是浪费了我一大堆时间
这个问题是当搜狗是你的当前输入法的时候,会触发。(切到别的输入法就没问题了,我把搜狗设成了默认输入法)
一定有人会问,你好端端的干嘛去用搜狗。我只能说,我上万条个人词库都在搜狗里,搜狗不让导出,我被搜狗绑架了,没法子。 最后再来一句,干你的搜狗