您尚未登录。

#1 2022-06-21 15:35:44

kyno
会员
注册时间: 2022-06-21
帖子: 3

JetBrains系列软件 不能使用fcitx5输入中文

如题,在JetBrains系列软件 不能使用fcitx5输入中文,无法在idea中切换输入法,不论是拼音、中州韵或是Mozc均无法切换
只能使用英文输入法,在其他应用中将输入法切换成中文之后,进idea里输入虽然托盘图标显示的是拼音,但实际输入还是英文

这是我找到的相关问题和解决方法:
fcitx5 is no longer activated in idea (other jetbrains IDEs don't work either)
Fcitx5 在 clion 中不可用
Arch Linux 中文论坛 [已解决] jetbrains全家桶 不能用fcitx输入中文
解决 Linux 环境中 IntelliJ IDEA 无法输入中文以及候选窗不跟随问题

以上解决方法均有尝试,无果...
还请大家帮忙看下原因

本机配置的变量:

文件:/etc/profile

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export INPUT_METHOD=fcitx
export SDL_IM_MODULE=fcitx
export GLFW_IM_MODULE=ibus
export XIM=fcitx
export XIM_PROGRAM=fcitx

Arch Linux 中文论坛 [已解决] jetbrains全家桶 不能用fcitx输入中文中提到的libx11版本:

[kyno@SaiTo ~]$ sudo pacman -Qi libx11
名字           : libx11
版本           : 1.8.1-2
描述           : X11 client-side library
架构           : x86_64
URL            : https://xorg.freedesktop.org/
软件许可       : custom
组             : 无
提供           : 无
依赖于         : libxcb  xorgproto
可选依赖       : 无
依赖它         : aalib  at-spi2-atk  cairo  ffmpeg  ffmpeg4.4  libva  libwmf  libxext  libxfixes  libxkbfile  libxrender  libxt  lirc  mpv  sdl2  startup-notification  thunderbird  vulkan-intel  vulkan-tools  webkit2gtk  xorg-xdpyinfo  xorg-xhost  xorg-xinit  xorg-xmodmap  xorg-xprop  xorg-xrandr  xorg-xrdb
                 xorg-xsetroot
被可选依赖     : hwloc
与它冲突       : 无
取代           : 无
安装后大小     : 10.07 MiB
打包者         : Andreas Radke <andyrtr@archlinux.org>
编译日期       : 2022年06月09日 星期四 18时05分07秒
安装日期       : 2022年06月14日 星期二 20时09分20秒
安装原因       : 作为其他软件包的依赖关系安装
安装脚本       : 否
验证者         : 数字签名

目前已安装的fcitx5相关的包:

[kyno@SaiTo ~]$ sudo pacman -Qs fcitx5
local/fcitx5-chinese-addons 5.0.13-2
    Addons related to Chinese, including IME previous bundled inside fcitx4
local/fcitx5-configtool 5.0.13-1 (fcitx5-im)
    Configuration Tool for Fcitx5
local/fcitx5-git 5.0.17.r9.g2b6175c-1
    Next generation of fcitx
local/fcitx5-gtk 5.0.15-1 (fcitx5-im)
    Fcitx5 gtk im module and glib based dbus client library
local/fcitx5-material-color 0.2.1-1
    Material color theme for fcitx5
local/fcitx5-mozc 2.26.4632.102.g4d2e3bd-2
    Fcitx5 Module of A Japanese Input Method for Chromium OS, Windows, Mac and Linux (the Open Source Edition of Google Japanese Input)
local/fcitx5-pinyin-moegirl-rime 20220218-1
    Fcitx 5 Pinyin Dictionary from zh.moegirl.org.cn
local/fcitx5-pinyin-zhwiki 1:0.2.4.20220529-1
    Fcitx 5 Pinyin Dictionary from zh.wikipedia.org
local/fcitx5-pinyin-zhwiki-rime 20210120-1
    Fcitx 5 Pinyin Dictionary from zh.wikipedia.org for rime
local/fcitx5-qt 5.0.13-1 (fcitx5-im)
    Fcitx5 Qt Library
local/fcitx5-qt4-git 5.0.13.r5.gde8dfa2-1
    Fcitx Qt Library, for Qt4
local/fcitx5-rime 5.0.13-1
    RIME support for Fcitx5

以下是我的fcitx5-diagnose命令的输出

[kyno@SaiTo ~]$ fcitx5-diagnose 
# 系统信息:
1.  `uname -a`:

        Linux SaiTo 5.18.5-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 16 Jun 2022 20:40:45 +0000 x86_64 GNU/Linux

2.  `lsb_release -a`:

        LSB Version:    n/a
        Distributor ID: Arch
        Description:    Arch Linux
        Release:        rolling
        Codename:       n/a

3.  `lsb_release -d`:

        Description:    Arch Linux

4.  `/etc/lsb-release`:

        DISTRIB_ID="Arch"
        DISTRIB_RELEASE="rolling"
        DISTRIB_DESCRIPTION="Arch Linux"

5.  `/etc/os-release`:

        NAME="Arch Linux"
        PRETTY_NAME="Arch Linux"
        ID=arch
        BUILD_ID=rolling
        ANSI_COLOR="38;2;23;147;209"
        HOME_URL="https://archlinux.org/"
        DOCUMENTATION_URL="https://wiki.archlinux.org/"
        SUPPORT_URL="https://bbs.archlinux.org/"
        BUG_REPORT_URL="https://bugs.archlinux.org/"
        LOGO=archlinux-logo

6.  桌面环境:

    桌面环境为 `kde`。

7.  XDG 会话类型:

        XDG_SESSION_TYPE='x11'

8.  Bash 版本:

        BASH_VERSION='5.1.16(1)-release'

# 环境:
1.  DISPLAY:

        DISPLAY=':0'


        WAYLAND_DISPLAY=''

2.  键盘布局:

    1.  `setxkbmap`:

            xkb_keymap {
                xkb_keycodes  { include "evdev+aliases(qwerty)" };
                xkb_types     { include "complete"      };
                xkb_compat    { include "complete"      };
                xkb_symbols   { include "pc+us+inet(evdev)+terminate(ctrl_alt_bksp)"    };
                xkb_geometry  { include "pc(pc104)"     };
            };

    2.  `xprop`:

            _XKB_RULES_NAMES(STRING) = "evdev", "pc104", "us", "", "terminate:ctrl_alt_bksp"

3.  Locale:

    1.  全部可用 locale:

            C
            C.UTF-8
            en_US.utf8
            POSIX
            zh_CN.utf8
            zh_CN.utf8utf8

    2.  当前 locale:

            LANG=zh_CN.UTF-8.UTF-8
            LC_CTYPE="zh_CN.UTF-8.UTF-8"
            LC_NUMERIC="zh_CN.UTF-8.UTF-8"
            LC_TIME="zh_CN.UTF-8.UTF-8"
            LC_COLLATE="zh_CN.UTF-8.UTF-8"
            LC_MONETARY="zh_CN.UTF-8.UTF-8"
            LC_MESSAGES="zh_CN.UTF-8.UTF-8"
            LC_PAPER="zh_CN.UTF-8.UTF-8"
            LC_NAME="zh_CN.UTF-8.UTF-8"
            LC_ADDRESS="zh_CN.UTF-8.UTF-8"
            LC_TELEPHONE="zh_CN.UTF-8.UTF-8"
            LC_MEASUREMENT="zh_CN.UTF-8.UTF-8"
            LC_IDENTIFICATION="zh_CN.UTF-8.UTF-8"
            LC_ALL=

4.  目录:

    1.  主目录:

            /home/kyno

    2.  `${XDG_CONFIG_HOME}`:

        环境变量 `XDG_CONFIG_HOME` 没有设定。

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

    3.  Fcitx5 设置目录:

        当前 fcitx5 设置目录是 `~/.config/fcitx5` (`/home/kyno/.config/fcitx5`)。

5.  当前用户:

    脚本作为 kyno (1000) 运行。

# Fcitx 状态:
1.  可执行文件:

    在 `/usr/bin/fcitx5` 找到了 fcitx5。

2.  版本:

    Fcitx 版本: `5.0.17`

3.  进程:

    找到了 1 个 fcitx5 进程:

            930 fcitx5

4.  `fcitx5-remote`:

    `fcitx5-remote` 工作正常。

5.  DBus 界面:

    使用 `dbus-send` 来检查 dbus。

    DBus 名称 `org.fcitx.Fcitx5` 的所有者是 `:1.38`。

    DBus 名称 `org.fcitx.Fcitx5` 的 PID 所有者是 `930`。

    来自 dbus 的调试信息:

           Group [x11::0] has 17 InputContext(s)
          IC [4300ec06b92f4d87aa7a4e53d8c0afce] program:electron frontend:dbus cap:6000000012 focus:0
          IC [f5525306ebe5470aa543f4595c3f4875] program:electron frontend:dbus cap:6000000012 focus:0
          IC [836241a1df4844f9b2436c71a169915b] program:plasmashell frontend:dbus cap:6000800072 focus:0
          IC [cdd53536c1e14c4fb5a9d4e216ee2044] program:thunderbird frontend:dbus cap:6000000012 focus:0
          IC [f898ffae3c5246f281d2989c9d221a63] program:thunderbird frontend:dbus cap:6000000012 focus:0
          IC [17db5051d9b14d6f9d100a339c4df240] program:thunderbird frontend:dbus cap:600000005a focus:0
          IC [ec21b2fc6c794451ab98cc5a695f8f6e] program:thunderbird frontend:dbus cap:6000000012 focus:0
          IC [cdd8182f900c4a92b169b28ae5bdcc77] program:thunderbird frontend:dbus cap:6000000012 focus:0
          IC [ad6e007447484927b264b60cd07f27ec] program:dolphin frontend:dbus cap:6000800072 focus:0
          IC [7abd4a84eccf4021b7a34890e881fac4] program:krunner frontend:dbus cap:6000820072 focus:0
          IC [9bb94557a7be4f7ab7db814c7cfb79d1] program:google-chrome frontend:dbus cap:6000000012 focus:0
          IC [e52fa355c3114748802e7484399ccfd6] program:plasmashell frontend:dbus cap:6000800072 focus:0
          IC [988f0e275f5343aa9bf7a28eae83cfb5] program:plasmashell frontend:dbus cap:6000800072 focus:0
          IC [69174ff801aa4e6d8cab3264b4c7f40c] program:konsole frontend:dbus cap:6000800072 focus:1
          IC [0b54ab0f59c1475b8241f0058259ea99] program:google-chrome frontend:dbus cap:6000000012 focus:0
          IC [837c7a34ed83499c97c3ba52437128a9] program:plasmashell frontend:dbus cap:6800800072 focus:0
          IC [f35eb510b35240b2bcf912ca1870dd47] program:plasmashell frontend:dbus cap:6000800072 focus:0
        Input Context without group

# Fcitx 配置界面:
1.  配置工具封装:

    在 `/usr/bin/fcitx5-configtool` 找到了 fcitx5-configtool。

2.  Qt 的配置界面:

    在 `/usr/bin/fcitx5-config-qt` 找到了 `fcitx5-config-qt`。

3.  KDE 的配置界面:

    找到了 fcitx5 的 kcm 模块。

        kcm_fcitx5                     - 配置输入法

# 前端设置:
## Xim:
1.  `${XMODIFIERS}`:

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

2.  根窗口上的 XIM_SERVERS:

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

## Qt:
1.  qt4 - `${QT4_IM_MODULE}`:

    环境变量 QT_IM_MODULE 已经正确地设为了“fcitx”。

2.  qt5 - `${QT_IM_MODULE}`:

    环境变量 QT_IM_MODULE 已经正确地设为了“fcitx”。

3.  Qt 输入法模块文件:

    找到了 fcitx5 qt5 模块:`/usr/lib/fcitx5/qt5/libfcitx-quickphrase-editor5.so`。
    找到了 fcitx5 的 qt 输入法模块:`/usr/lib/qt/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so`。
    找到了未知的 fcitx qt 模块:`/usr/lib/qt/plugins/kcms/kcm_fcitx5.so`。
    找到了 fcitx5 的 qt4 输入法模块:`/usr/lib/qt4/plugins/inputmethods/libqtim-fcitx5.so`。
    找到了 fcitx5 的 qt6 输入法模块:`/usr/lib/qt6/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so`。

## Gtk:
1.  gtk - `${GTK_IM_MODULE}`:

    环境变量 GTK_IM_MODULE 已经正确地设为了“fcitx”。

2.  `gtk-query-immodules`:

    1.  gtk 2:

        在 `/usr/bin/gtk-query-immodules-2.0` 找到了 gtk `2.24.33` 的 `gtk-query-immodules`。
        版本行:

            # Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33

        已找到 gtk `2.24.33` 的 fcitx5 输入法模块。

            "/usr/lib/gtk-2.0/2.10.0/immodules/im-fcitx5.so" 
            "fcitx" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 
            "fcitx5" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 

    2.  gtk 3:

        在 `/usr/bin/gtk-query-immodules-3.0` 找到了 gtk `3.24.34` 的 `gtk-query-immodules`。
        版本行:

            # Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.34

        已找到 gtk `3.24.34` 的 fcitx5 输入法模块。

            "/usr/lib/gtk-3.0/3.0.0/immodules/im-fcitx5.so" 
            "fcitx" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 
            "fcitx5" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 

3.  Gtk 输入法模块缓存:

    1.  gtk 2:

        在 `/usr/lib/gtk-2.0/2.10.0/immodules.cache` 找到了 gtk `2.24.33` 的输入法模块缓存。
        版本行:

            # Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33

        已找到 gtk `2.24.33` 的 fcitx5 输入法模块。

            "/usr/lib/gtk-2.0/2.10.0/immodules/im-fcitx5.so" 
            "fcitx" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 
            "fcitx5" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 

    2.  gtk 3:

        在 `/usr/lib/gtk-3.0/3.0.0/immodules.cache` 找到了 gtk `3.24.34` 的输入法模块缓存。
        版本行:

            # Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.34

        已找到 gtk `3.24.34` 的 fcitx5 输入法模块。

            "/usr/lib/gtk-3.0/3.0.0/immodules/im-fcitx5.so" 
            "fcitx" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 
            "fcitx5" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 

    3.  gtk 4:

        **无法找到 gtk 4 的输入法模块缓存**

        **无法在缓存中找到 gtk 4 的 fcitx5 输入法模块。**

4.  Gtk 输入法模块文件:

    1.  gtk 2:

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

    2.  gtk 3:

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

    3.  gtk 4:

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

# 配置:
## Fcitx 插件:
1.  插件配置文件目录:

    找到了 fcitx5 的插件配置目录:`/usr/share/fcitx5/addon`。

2.  插件列表:

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

            Simplified and Traditional Chinese Translation 5.0.13
            Classic User Interface 5.0.17
            Clipboard 5.0.17
            Cloud Pinyin 5.0.13
            DBus 5.0.17
            DBus Frontend 5.0.17
            Emoji 5.0.17
            Fcitx4 Frontend 5.0.17
            Full width character 5.0.13
            IBus Frontend 5.0.17
            Input method selector 5.0.17
            Keyboard 5.0.17
            KDE Input Method Panel 5.0.17
            Mozc 
            Status Notifier 5.0.17
            Notification 5.0.17
            Pinyin 5.0.13
            Extra Pinyin functionality 5.0.13
            Punctuation 5.0.13
            Quick Phrase 5.0.17
            Rime 5.0.13
            Spell 5.0.17
            Table 5.0.13
            Unicode 5.0.17
            Wayland 5.0.17
            Wayland Input method frontend 5.0.17
            XCB 5.0.17
            X Input Method Frontend 5.0.17

    2.  找到了 0 个被禁用的插件:

3.  插件库: 

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

4.  用户界面:

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

        Classic User Interface
        KDE Input Method Panel

## 输入法:
1.  `/home/kyno/.config/fcitx5/profile`:

        [Groups/0]
        # Group Name
        Name=默认
        # Layout
        Default Layout=us
        # Default Input Method
        DefaultIM=keyboard-us

        [Groups/0/Items/0]
        # Name
        Name=pinyin
        # Layout
        Layout=

        [Groups/0/Items/1]
        # Name
        Name=keyboard-us
        # Layout
        Layout=

        [Groups/0/Items/2]
        # Name
        Name=rime
        # Layout
        Layout=

        [Groups/0/Items/3]
        # Name
        Name=mozc
        # Layout
        Layout=

        [GroupOrder]
        0=默认

# 日志:
1.  `date`:

        2022年 06月 21日 星期二 15:04:18 CST

2.  `/home/kyno/.config/fcitx5/crash.log`:

    `/home/kyno/.config/fcitx5/crash.log` 未找到.

离线

#2 2022-07-05 18:31:15

ystyle
初级智能体
所在地: 蓝舞城
注册时间: 2013-10-24
帖子: 38
个人网站

Re: JetBrains系列软件 不能使用fcitx5输入中文

配置文件错了,不是/etc/profile, 而是在 ~/.pam_environment
https://wiki.archlinux.org/title/Fcitx# … IM_modules


-----From YSTYLE.TOP 程序员是值得尊敬的,程序员的双手是魔术师的双手。他们把枯燥无味的代码变成了丰富多彩的软件……

离线

#3 2022-07-08 12:14:06

kyno
会员
注册时间: 2022-06-21
帖子: 3

Re: JetBrains系列软件 不能使用fcitx5输入中文

ystyle 说:

配置文件错了,不是/etc/profile, 而是在 ~/.pam_environment
https://wiki.archlinux.org/title/Fcitx# … IM_modules

已按照配置fcitx5环境变量配置fcitx5环境变量至/etc/environment 文件中,问题依旧

离线

#4 2022-07-15 10:36:20

32729842
会员
注册时间: 2022-07-15
帖子: 1

Re: JetBrains系列软件 不能使用fcitx5输入中文

离线

#5 2022-07-15 14:14:54

kyno
会员
注册时间: 2022-06-21
帖子: 3

Re: JetBrains系列软件 不能使用fcitx5输入中文

替换过,在idea的帮助 -> 关于 -> 运行时版本 这个地方显示的也是更换后的版本,但并没有效果。目前依旧是只能输入英文,除英文之外的输入法均无法激活。

离线

#6 2022-07-28 16:19:45

ystyle
初级智能体
所在地: 蓝舞城
注册时间: 2013-10-24
帖子: 38
个人网站

Re: JetBrains系列软件 不能使用fcitx5输入中文

kyno 说:
ystyle 说:

配置文件错了,不是/etc/profile, 而是在 ~/.pam_environment
https://wiki.archlinux.org/title/Fcitx# … IM_modules

已按照配置fcitx5环境变量配置fcitx5环境变量至/etc/environment 文件中,问题依旧

不是/etc/environment , 是个人用户目录下的  ~/.pam_environment, 我这没遇到任何问题,  以下为配置

 ystyle@Archlinux  ~  cat /etc/environment        
#
# This file is parsed by pam_env module
#
# Syntax: simple "KEY=VAL" pairs on separate lines
#
export JDK_HOME=/usr/lib/jvm/jdk-jetbrains
 ystyle@Archlinux  ~  cat  ~/.pam_environment
GTK_IM_MODULE DEFAULT=fcitx
QT_IM_MODULE  DEFAULT=fcitx
XMODIFIERS    DEFAULT=@im=fcitx

最近编辑记录 ystyle (2022-07-28 16:22:23)


-----From YSTYLE.TOP 程序员是值得尊敬的,程序员的双手是魔术师的双手。他们把枯燥无味的代码变成了丰富多彩的软件……

离线

#7 2022-08-13 11:48:35

xiao80
会员
注册时间: 2021-11-14
帖子: 66

Re: JetBrains系列软件 不能使用fcitx5输入中文

kyno 说:

替换过,在idea的帮助 -> 关于 -> 运行时版本 这个地方显示的也是更换后的版本,但并没有效果。目前依旧是只能输入英文,除英文之外的输入法均无法激活。

会不会是快捷键冲突导致的呢?

替换 jbr 是解决候选框无法跟随光标的问题的,和激活输入法没有关系。我可以接受无法跟随光标的问题,所以从来没有去替换 jbr 编译一大堆东西,fcitx/fcitx5 照样用的好好的。

离线

#8 2022-10-09 15:57:18

Daydreamer
会员
注册时间: 2022-10-09
帖子: 1

Re: JetBrains系列软件 不能使用fcitx5输入中文

根据这篇博客https://blog.omgxy.com/2022/0122/在idea.sh中加入export LC_CTYPE=zh_CN.UTF-8就可以输入中文

离线

#9 2022-10-24 13:49:38

Syize
会员
注册时间: 2022-10-24
帖子: 4

Re: JetBrains系列软件 不能使用fcitx5输入中文

Daydreamer 说:

根据这篇博客https://blog.omgxy.com/2022/0122/在idea.sh中加入export LC_CTYPE=zh_CN.UTF-8就可以输入中文

我加入了 export 但是还是无效。猜测可能是 pambase 引起的。
因为在 pambase 更新前我电脑上 Pycharm 是可以输入中文的,更新之后由于 ~/.pam_environment 不再被读取了,我就复制了相同的配置到 /etc/environment 下,本来以为输入法可以正常工作了,没想到 Pycharm 还是输入不了中文

离线

#10 2022-10-24 18:40:12

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: JetBrains系列软件 不能使用fcitx5输入中文

/etc/environment 的样式不一样的。

离线

#11 2022-10-25 17:40:18

ystyle
初级智能体
所在地: 蓝舞城
注册时间: 2013-10-24
帖子: 38
个人网站

Re: JetBrains系列软件 不能使用fcitx5输入中文

我知道了。

fcitx: 配置文件不在/etc/environment ,而是在~/.pam_environment, 格式不需要export, 直接key=value
fcitx5: 配置文件 在 ~/.xprofile 格式是: export key=value

配置好后需要重启系统


-----From YSTYLE.TOP 程序员是值得尊敬的,程序员的双手是魔术师的双手。他们把枯燥无味的代码变成了丰富多彩的软件……

离线

#12 2022-10-25 17:52:48

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: JetBrains系列软件 不能使用fcitx5输入中文

~/.pam_environment 没用了。
~/.xprofile 取决于登录管理器读不读。

离线

页脚