V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
newhuan2018
V2EX  ›  程序员

debian 11 idea 2019.3 无法激活输入法

  •  
  •   newhuan2018 · 2019-12-26 17:20:08 +08:00 · 2466 次点击
    这是一个创建于 1554 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,下面是 fcitx-diagnose 日志,idea.sh 添加环境变量的方法也试过了没有用,有没有朋友帮忙看一下,谢谢。

    系统信息:

    1. uname -a:

      Linux 192 5.3.0-3-amd64 #1 SMP Debian 5.3.15-1 (2019-12-07) x86_64 GNU/Linux
      
    2. lsb_release -a:

      No LSB modules are available.
      Distributor ID:	Debian
      Description:	Debian GNU/Linux bullseye/sid
      Release:	testing
      Codename:	bullseye
      
    3. lsb_release -d:

      Description:	Debian GNU/Linux bullseye/sid
      
    4. /etc/lsb-release:

      /etc/lsb-release 未找到.

    5. /etc/os-release:

      PRETTY_NAME="Debian GNU/Linux bullseye/sid"
      NAME="Debian GNU/Linux"
      ID=debian
      HOME_URL="https://www.debian.org/"
      SUPPORT_URL="https://www.debian.org/support"
      BUG_REPORT_URL="https://bugs.debian.org/"
      
    6. 桌面环境:

      桌面环境为 kde

    7. Bash 版本:

      BASH_VERSION='5.0.11(1)-release'
      

    环境:

    1. DISPLAY:

      DISPLAY=':0'
      
    2. 键盘布局:

      1. setxkbmap:

        xkb_keymap {
        	xkb_keycodes  { include "evdev+aliases(qwerty)"	};
        	xkb_types     { include "complete"	};
        	xkb_compat    { include "complete"	};
        	xkb_symbols   { include "pc+cn+us:2+inet(evdev)"	};
        	xkb_geometry  { include "pc(pc105)"	};
        };
        
      2. xprop:

        _XKB_RULES_NAMES(STRING) = "evdev", "pc105", "cn,us", ",", ""
        
    3. Locale:

      1. 全部可用 locale:

        C
        C.UTF-8
        en_HK.utf8
        en_US
        en_US.iso88591
        POSIX
        zh_CN
        zh_CN.gb2312
        zh_CN.gbk
        zh_CN.utf8
        zh_TW
        zh_TW.big5
        zh_TW.utf8
        
      2. 当前 locale:

        LANG=en_HK.UTF-8
        LANGUAGE=zh_CN:en_US
        LC_CTYPE="zh_CN.UTF-8"
        LC_NUMERIC="zh_CN.UTF-8"
        LC_TIME="zh_CN.UTF-8"
        LC_COLLATE="zh_CN.UTF-8"
        LC_MONETARY="zh_CN.UTF-8"
        LC_MESSAGES="zh_CN.UTF-8"
        LC_PAPER="zh_CN.UTF-8"
        LC_NAME="zh_CN.UTF-8"
        LC_ADDRESS="zh_CN.UTF-8"
        LC_TELEPHONE="zh_CN.UTF-8"
        LC_MEASUREMENT="zh_CN.UTF-8"
        LC_IDENTIFICATION="zh_CN.UTF-8"
        LC_ALL=zh_CN.UTF-8
        
    4. 目录:

      1. 主目录:

        /home/newhuan
        
      2. ${XDG_CONFIG_HOME}:

        环境变量 XDG_CONFIG_HOME 没有设定。

        XDG_CONFIG_HOME 的当前值是 ~/.config (/home/newhuan/.config)。

      3. Fcitx 设置目录:

        当前 fcitx 设置目录是 ~/.config/fcitx (/home/newhuan/.config/fcitx)。

    5. 当前用户:

      脚本作为 newhuan (1000) 运行。

    Fcitx 状态:

    1. 可执行文件:

      /usr/bin/fcitx 找到了 fcitx.

    2. 版本:

      Fcitx 版本: 4.2.9.7

    3. 进程:

      找到了 2 个 fcitx 进程:

         1099 fcitx
         1115 fcitx-dbus-watc
      
    4. fcitx-remote:

      fcitx-remote 工作正常.

    5. DBus 界面:

      使用 dbus-send 来检查 dbus。

      DBus 名称 org.fcitx.Fcitx 的所有者是 :1.6

      DBus 名称 org.fcitx.Fcitx 的 PID 所有者是 1099

    Fcitx 配置界面:

    1. 配置工具封装:

      /usr/bin/fcitx-configtool 找到了 fcitx-configtool。

    2. 用于 GTK+-2.0 的配置界面:

      未找到 gtk2 的配置界面.

    3. 用于 GTK+-3.0 的配置界面:

      /usr/bin/fcitx-config-gtk3 找到了 fcitx-config-gtk3

    4. KDE 的配置界面:

    前端设置:

    Xim:

    1. ${XMODIFIERS}:

      环境变量 XMODIFIERS 已经正确地设为了 "@im=fcitx". 从环境变量中获取的 Xim 服务名称为 fcitx.

    2. 根窗口上的 XIM_SERVERS:

      Xim 服务的名称与环境变量中设置的相同.

    Qt:

    1. qt4 - ${QT4_IM_MODULE}:

      环境变量 QT4_IM_MODULE 已经正确地设为了 "fcitx".

    2. qt5 - ${QT_IM_MODULE}:

      环境变量 QT_IM_MODULE 已经正确地设为了 "fcitx".

    3. Qt 输入法模块文件:

      找到了 fcitx 的 qt 模块: /usr/lib/x86_64-linux-gnu/fcitx/qt/libfcitx-quickphrase-editor5.so. 找到了 fcitx 的 qt 模块: /usr/lib/x86_64-linux-gnu/fcitx/qt/libfcitx-rime-config-gui.so. 找到了 Qt5 的输入法模块: /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so. 找到了 Qt4 的输入法模块: /usr/lib/x86_64-linux-gnu/qt4/plugins/inputmethods/qtim-fcitx.so.

    Gtk:

    1. gtk - ${GTK_IM_MODULE}:

      环境变量 GTK_IM_MODULE 已经正确地设为了 "fcitx".

    2. gtk-query-immodules:

      1. gtk 2:

        /usr/lib/x86_64-linux-gnu/libgtk2.0-0/gtk-query-immodules-2.0 找到了 gtk 2.24.32gtk-query-immodules. 版本行:

        # Created by /usr/lib/x86_64-linux-gnu/libgtk2.0-0/gtk-query-immodules-2.0 from gtk+-2.24.32
        

        已找到 gtk 2.24.32 的 fcitx 输入法模块.

        "/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so" 
        "fcitx" "Fcitx (Flexible Input Method Framework)" "fcitx" "/usr/share/locale" "ja:ko:zh:*" 
        
      2. gtk 3:

        /usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0 找到了 gtk 3.24.13gtk-query-immodules. 版本行:

        # Created by /usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0 from gtk+-3.24.13
        

        已找到 gtk 3.24.13 的 fcitx 输入法模块.

        "/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-fcitx.so" 
        "fcitx" "Fcitx (Flexible Input Method Framework)" "fcitx" "/usr/share/locale" "ja:ko:zh:*" 
        
    3. Gtk 输入法模块缓存:

      1. gtk 2:

        /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules.cache 找到了 gtk 2.24.32 的输入法模块缓存. 版本行:

        # Created by /usr/lib/x86_64-linux-gnu/libgtk2.0-0/gtk-query-immodules-2.0 from gtk+-2.24.32
        

        已找到 gtk 2.24.32 的 fcitx 输入法模块.

        "/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so" 
        "fcitx" "Fcitx (Flexible Input Method Framework)" "fcitx" "/usr/share/locale" "ja:ko:zh:*" 
        
      2. gtk 3:

        /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules.cache 找到了 gtk 3.24.13 的输入法模块缓存. 版本行:

        # Created by /usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0 from gtk+-3.24.13
        

        已找到 gtk 3.24.13 的 fcitx 输入法模块.

        "/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-fcitx.so" 
        "fcitx" "Fcitx (Flexible Input Method Framework)" "fcitx" "/usr/share/locale" "ja:ko:zh:*" 
        
    4. Gtk 输入法模块文件:

      1. gtk 2:

        找到的全部 Gtk 2 输入法模块文件均存在.

      2. gtk 3:

        找到的全部 Gtk 3 输入法模块文件均存在.

    配置:

    Fcitx 插件:

    1. 插件配置文件目录:

      找到了 fcitx 插件配置目录: /usr/share/fcitx/addon.

    2. 插件列表:

      1. 找到了 34 个已启用的插件:

        fcitx-autoeng
        fcitx-autoeng-ng
        fcitx-chttrans
        fcitx-classic-ui
        fcitx-clipboard
        fcitx-dbus
        fcitx-freedesktop-notify
        fcitx-fullwidth-char
        fcitx-fullwidth-char-enhance
        fcitx-googlepinyin
        fcitx-imselector
        fcitx-ipc
        fcitx-ipcportal
        fcitx-keyboard
        fcitx-kimpanel-ui
        fcitx-lua
        fcitx-notificationitem
        fcitx-pinyin
        fcitx-pinyin-enhance
        fcitx-punc
        fcitx-punc-ng
        fcitx-quickphrase
        fcitx-remote
        fcitx-rime
        fcitx-sogoucloudpinyin
        fcitx-sogoupinyin
        fcitx-sogouwubi
        fcitx-spell
        fcitx-unicode
        fcitx-vk
        fcitx-x11
        fcitx-xim
        fcitx-xkb
        fcitx-xkbdbus
        
      2. 找到了 0 个被禁用的插件:

    3. 插件库:

      所有插件所需的库都被找到。

    4. 用户界面:

      找到了 2 个已启用的用户界面插件:

      fcitx-classic-ui
      fcitx-kimpanel-ui
      

    输入法:

    1. 找到了 2 个启用的输入法:

      fcitx-keyboard-cn
      googlepinyin
      
    2. 默认输入法:

      您已经正确的将一个键盘输入法 "fcitx-keyboard-cn" 设为默认.

    日志:

    1. date:

      2019 年 12 月 26 日 星期四 17:06:55 CST
      
    2. ~/.config/fcitx/log/:

      总用量 4
      -rw-r--r-- 1 newhuan newhuan 44 12 月 24 14:55 crash.log
      
    3. ~/.config/fcitx/log/crash.log:

      fcitx: BadWindow (invalid Window parameter)
      
    12 条回复    2019-12-27 10:53:56 +08:00
    newhuan2018
        1
    newhuan2018  
    OP
       2019-12-26 17:29:31 +08:00
    希望别沉 前前后后搞了好几个星期了 头疼
    newhuan2018
        2
    newhuan2018  
    OP
       2019-12-26 17:34:36 +08:00
    尝试过安装历史版本的 idea,装得是 2018.3 一样无法激活输入法,猜测不是版本的问题
    batman2010
        3
    batman2010  
       2019-12-26 17:41:03 +08:00
    快捷键冲突?
    bianjp
        4
    bianjp  
       2019-12-26 17:41:17 +08:00
    https://youtrack.jetbrains.com/issue/JBR-2003

    官方提供了一个临时方案: 增加 VM 参数 -Dauto.disable.input.methods=false
    newhuan2018
        5
    newhuan2018  
    OP
       2019-12-26 17:47:45 +08:00
    @bianjp 尝试添加之后重启没有效果

    @batman2010 冲突的快捷键我都取消了
    newhuan2018
        6
    newhuan2018  
    OP
       2019-12-26 17:57:53 +08:00
    另附 idea vmoptions:
    ``` shell
    -Xms128m
    -Xmx4096m
    -XX:ReservedCodeCacheSize=240m
    -XX:+UseConcMarkSweepGC
    -XX:SoftRefLRUPolicyMSPerMB=50
    -ea
    -XX:CICompilerCount=2
    -Dsun.io.useCanonPrefixCache=false
    -Djava.net.preferIPv4Stack=true
    -Djdk.http.auth.tunneling.disabledSchemes=""
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:-OmitStackTraceInFastThrow
    -Djdk.attach.allowAttachSelf=true
    -Dkotlinx.coroutines.debug=off
    -Djdk.module.illegalAccess.silent=true
    -Dawt.useSystemAAFontSettings=lcd
    -Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine
    -Dsun.tools.attach.tmp.only=true
    -Dfile.encoding=UTF-8
    -Dauto.disable.input.methods=false
    ```
    sdandroid
        7
    sdandroid  
       2019-12-26 18:49:53 +08:00 via Android
    换 jdk 13,字体也没什么问题,现在是 Debian 10,没问题
    jinqzzz
        8
    jinqzzz  
       2019-12-26 19:52:35 +08:00
    试试 fcitx5
    CFM880
        9
    CFM880  
       2019-12-26 20:12:06 +08:00
    @lenyo 看看小姐姐能不能推动一下
    JackieMe
        10
    JackieMe  
       2019-12-27 09:19:52 +08:00 via Android
    是 Qt 的问题吗?没用过 idea 不清楚,Qt 问题的话自己编译一下 libfcitxplatforminputcontextplugin.so 就可以了
    RainyH2O
        11
    RainyH2O  
       2019-12-27 10:26:56 +08:00
    Ubuntu19.10 同样的问题,不过我照着 4L 的方法成功解决了
    newhuan2018
        12
    newhuan2018  
    OP
       2019-12-27 10:53:56 +08:00
    @JackieMe idea 的 GUI 是 java 做的吧?应该和 qt 没关系?不过刚才看在 qt 的程序里确实也没办法激活输入法,我试试看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4451 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 10:09 · PVG 18:09 · LAX 03:09 · JFK 06:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.