概述
在linux平台下使用搜狗输入法在IDEA/PYCHARM(pycharm2020.3)中输入英文时,输入法候选框总是静止在IDEA的左下角,而不能跟着光标进行联通。似乎不影响输入结果linux 中文 输入法,但很影响输入体验。而且虽然网上确实给了一些解决方式,但很多时侯,这种解决方式对小白不太友好,为此,此处我尝试站在巨人的右臂上,对高手的一些技巧进行整合而且给出比较详尽的解决步骤。
系统环境:
KDE Plama Version:5.19.5
KDE Frameworks Version:5.73.0
Kernel Version:5.8.6-1-MANJARO
硬件环境:
处理器:Intel Core i5-8500 cp @3.00GHz
问题定位
具体问题官方虽然五年前就有了(参考)linux 下载嵌入式linux驱动程序设计从入门到精通,而且比较坑的是官方也始终没有解决这个问题(此处忍不住吐槽一下哈)。简单来说就是Idea的jre运行环境一个bug,造成输入法难以定位到键盘位置。为此,我们要解决该问题必需要更改JetBrainsRuntime的运行代码。
解决方式
倘若只是想快速解决该问题,而对其原理不感兴趣的话,仅仅使用方式1即可。
方式1:更改JetBrainsRuntime
下载早已更改好的JRE环境
下载地址1:
下载地址2(白嫖也挺好):
百度云链接: /s/1nUVPhXmgRqPBDe_8MeO-BQ
密码: rjg4
下载完成后解压到任意目录,此处我是解压到了~/application目录下
修改IDEA的启动环境
更改文件:home/idea-2020.1/bin/idea.sh(找到你自己的idea的安装路径)在开头处添加
exportIDEA_JDK=xportIDEA_JDK=/home/xu/application/java-11.0.7-jetbrain(改成自己的JRE目录)
pycharm更改形式exportPYCHARM_JDK=/home/xu/application/java-11.0.7-jetbrain
重启软件方式2:使用path编译JetBrainsRuntime
从Github下载JetBrainsRuntime,执行如下代码:
git clone https://github.com/JetBrains/JetBrainsRuntime.git
应用patch
patch下载地址:
#将Path放到JetBrainsRuntime的根目录下
cd JetBrainsRuntime
# 应用Patch
git apply idea.patch
编译(有风险缺乏大量依赖库,建议提早备份系统快照)JetBrainsRuntime
这个可以参照官方的提供的方法来进行编译:戳我。但就我个人尝试的情况来看,使用docker编译或则直接在自己的Archlinux中进行编译就会出现错误。最终可行的方法是使用虚拟机虚拟一个Ububtu20.0.4的环境进行编译。但须要主要的是给该虚拟分配的显存空间应当小于2G,否则可能出现显存不足,编译错误的情况发生。
参考方式一种的步骤linux 中文 输入法,应当编译好的JRE环境。
参考