解决 fcitx 输入法在 Intellij IDEA 开发工具中输入法候选框无法跟随光标移动的问题

vcjmhg 的个人博客 自律者自由 本文由博客端 https://www.vcjmhg.top 主动推送

概述

在 Linux 平台下使用搜狗输入法在 IDEA 中输入中文时,输入法候选框总是静止在 IDEA 的左下角,而不能跟随光标进行移动。虽然不影响输入结果,但很影响输入体验。并且其实网上确实给了一些解决方法,但好多时候,这些解决方法对小白不太友好,因此,此处我尝试站在巨人的肩膀上,对前辈的一些方法进行整合并且给出比较详细的解决步骤。

系统环境:

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

问题定位

具体问题官方其实七年前就有了(参考 https://youtrack.jetbrains.com/issue/JBR-2460),但是比较坑的是官方也一直没有解决这个问题🐶(此处忍不住吐槽一下哈)。简单来说就是 Ideajre 运行环境一个 bug,导致输入法无法定位到鼠标位置。因此,我们要解决该问题必须要修改 JetBrainsRuntime 的运行代码。

解决方法

如果只是想快速解决该问题,而对其原理不感兴趣的话,仅仅使用方法 1 即可。

方法 1:修改 JetBrainsRuntime

  1. 下载已经修改好的 JRE 环境

    下载地址 1(我有积分):

    下载地址 2(白嫖也很好):

    百度云链接: /s/1nUVPhXmgRqPBDe_8MeO-BQ 
    密码: rjg4
    
  2. 下载完成后解压到任意目录,此处我是解压到了 ~/Application 目录下

test

  1. 更改 IDEA 的启动环境

    修改文件: home/idea-2020.1/bin/idea.sh (找到你自己的idea的安装路径) 在开头处添加

    export IDEA_JDK=xport IDEA_JDK=/home/vcjmhg/Application/java-11.0.7-jetbrain(改成自己的 JRE 目录)

    img

方法 2:使用 path 编译 JetBrainsRuntime

  1. 从 GitHub 下载 JetBrainsRuntime,执行如下代码:

    git clone https://github.com/JetBrains/JetBrainsRuntime.git
    
  2. 应用 patch

    patch 下载地址: https://github.com/prehonor/myJetBrainsRuntime

    #将Path放到JetBrainsRuntime的根目录下
    cd JetBrainsRuntime
    # 应用Patch
    git apply idea.patch
    
  3. 编译 JetBrainsRuntime

    这个可以参照官方的提供的方式来进行编译:戳我。但就我个人尝试的情况来看,使用 docker 编译或者直接在自己的 Arch Linux 中进行编译都会出现错误。最终可行的方式是使用虚拟机虚拟一个 Ububtu 20.0.4 的环境进行编译。但需要主要的是给该虚拟分配的内存空间应该大于 2G,否则可能出现内存不足,编译错误的情况发生。

  4. 参考方法一种的步骤,应该编译好的 JRE 环境。

参考

  1. https://blog.csdn.net/qq_37303226/article/details/79640886
  2. https://blog.csdn.net/u011166277/article/details/106287587
  3. https://bbs.archlinuxcn.org/viewtopic.php?id=10529&p=2
  • 教程
    125 引用 • 420 回帖 • 5 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    2812 引用 • 8043 回帖 • 749 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    193 引用 • 532 回帖 • 1 关注

赞助商 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...