JetBrains IDE 在 Linux系统中 中文 输入法 跟随光标问题修复

前言

发现在Ubuntu系统中,使用JetBrains 系列的IDE工具都会出现输入法卡在左下角不能跟随光标的问题。墙出去看了下,发现很多码友也出现了这种问题,都是历史遗留问题,而JetBrains官方一直没有解决这个bug。

要解决这个问题,需要修改JetBrainsRuntime的源码。由于每个人环境不一样,笔者这大致总结下解决问题的过程,便于坑友们快速解决问题哈~

问题预览

JetBrains IDE 在 Linux系统中 中文 输入法 跟随光标问题修复

笔者环境

适用于JetBrains版本

  • IDEA
  • Goland
  • WebStorm
  • PyCharm
  • PhpStorm

解决问题方案

一、下载JetBrainsRuntime源代码

github网址:https://github.com/JetBrains/JetBrainsRuntime

下载命令:

git clone https://github.com/JetBrains/JetBrainsRuntime.git

下载源代码的时候,很可能会出现超时下载不下来的情况,可以参考github加速访问

二、下载patch

github网址:https://github.com/prehonor/myJetBrainsRuntime

下载命令:

git clone https://github.com/prehonor/myJetBrainsRuntime.git

三、安装必要的依赖

sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev openjdk-11-jdk

四、编译JDK

依次执行如下命令:

# 复制 idea.path 文件到 JetBrainsRuntime 根目录
sudo cp myJetBrainsRuntime/idea.path JetBrainsRuntime/

# 进入 刚刚 git clone JetBrainsRuntime 源码目录
cd JetBrainsRuntime

#(这一步经过测试,并不需要,用master就好)
git checkout cfc3e87f2ac27a0b8c78c729c113aa52535feff6


# 使用复制进来的补丁
git apply idea.patch



# 在 JetBrainsRuntime 根目录 执行配置
sh ./configure --disable-warnings-as-errors

# 在 JetBrainsRuntime 根目录 执行编译,这个步骤会生产 jdk
make images

# OK到这里后,我们只需要等待编译成功...

# 编译后的jdk目录在这个位置
# JetBrainsRuntime/build/linux-x86_64-normal-server-release/

五、修复步骤(重要)

走到这个流程说明快成功了,不过别高兴太早,现在还有两个步骤要走:

将编译好的JDK相关文件迁移至新的目录位置,方便后续使用

在迁移JDK相关文件前,请确保第四步已经完成了,若是不行那就重新依次执行第四步所有命令。

# 确保是否有完成第四步,可以查看这个目录下是否有这两个文件:
ll JetBrainsRuntime/build/linux-x86_64-normal-server-release/jdk

ll JetBrainsRuntime/build/linux-x86_64-normal-server-release/support

迁移JDK相关文件

# 进入 JetBrainsRuntime 编译后的jdk目录
cd JetBrainsRuntime/build/linux-x86_64-normal-server-release/


# 复制文件到指定目录,我这里复制到 /opt/Custom-JebbrainsJdk ,所以迁移命令如下:
# 创建目录
sudo mkdir /opt/Custom-JebbrainsJdk
# 复制JDK相关文件到刚刚创建的目录
sudo cp -r jdk support /opt/Custom-JebbrainsJdk

设置 JetBrains 相关 IDE 工具加载 JDK 路径

注意:在设置前,建议关闭 IDE 工具

这里笔者用Goland 2020.3 版本做示例展示,先找到Gloland安装目录,并用文本编辑打开bin目录下的 goland.sh 文件,并设置 IDE 启动加载JDK路径,见下图:

JetBrains IDE 在 Linux系统中 中文 输入法 跟随光标问题修复
# set custom jdk to env
export GOLAND_JDK=/opt/Custom-JebbrainsJdk/jdk

其他 IDE 设置加载的 JDK路径大致同上,核心只是需要更改 sh 里的 环境变量名 即可,笔者这里在展示几个 IDE 更改示例:

PyCharm

JetBrains IDE 在 Linux系统中 中文 输入法 跟随光标问题修复

WebStorm

JetBrains IDE 在 Linux系统中 中文 输入法 跟随光标问题修复

其它的大致如上了,还是不懂可以在文章下面留言

修复预览

JetBrains IDE 在 Linux系统中 中文 输入法 跟随光标问题修复

参考文献

原文地址

JetBrains Linux系统中 中文 输入法 光标不能跟随 问题修复 fcitx框架输入法

上一篇:利用IDE自动生成Logger变量


下一篇:GoLand或Idea当中使用Git特别慢解决方案