求助 debian 使用 kde 的时候几乎所有 qt 的程序都无法切换输入法 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Solitudechn
V2EX    Linux

求助 debian 使用 kde 的时候几乎所有 qt 的程序都无法切换输入法

  •  
  •   Solitudechn 2016-12-22 11:10:04 +08:00 4583 次点击
    这是一个创建于 3217 天前的主题,其中的信息可能已经有所发展或是发生改变。

    系统信息:

    1. uname -a:

      Linux solitudechn-work 4.8.0-2-amd64 #1 SMP Debian 4.8.11-1 (2016-12-02) x86_64 GNU/Linux 
    2. lsb_release -a:

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

      Description: Debian GNU/Linux unstable (sid) 
    4. /etc/lsb-release:

      /etc/lsb-release 未找到.

    5. /etc/os-release:

      PRETTY_NAME="Debian GNU/Linux stretch/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 Version:

      BASH_VERSION='4.4.5(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+inet(evdev)" }; xkb_geometry { include "pc(pc105)" }; }; 
      2. xprop:

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

      1. 全部可用 locale:

        C C.UTF-8 en_US.utf8 POSIX zh_CN.utf8 
      2. 当前 locale:

        LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:zh 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= 
    4. 目录:

      1. 主目录:

        /home/solitudechn 
      2. ${XDG_CONFIG_HOME}:

        环境变量 XDG_CONFIG_HOME 没有设定。

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

      3. Fcitx 设置目录:

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

    5. 当前用户:

      脚本作为 solitudechn (1000) 运行。

    Fcitx 状态:

    1. 可执行文件:

      /usr/bin/fcitx 找到了 fcitx.

    2. 版本:

      Fcitx 版本: 4.2.9.1

    3. 进程:

      找到了 2 个 fcitx 进程:

       931 fcitx 3572 fcitx-dbus-watc 
    4. fcitx-remote:

      fcitx-remote 工作正常.

    5. DBus interface:

      Using dbus-send to check dbus.

      Owner of DBus name org.fcitx.Fcitx is :1.79.

      PID of DBus name org.fcitx.Fcitx owner is 931.

    Fcitx 配置界面:

    1. 配置工具封装:

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

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

      未找到 gtk2 的配置界面.

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

      未找到 gtk3 的配置界面.

    4. KDE 的配置界面:

      无法找到一个图形界面的配置工具,请安装 kcm-fcitxfcitx-config-gtk2fcitx-config-gtk3 之一。

    前端设置:

    Xim:

    1. ${XMODIFIERS}:

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

    2. 根窗口上的 XIM_SERVERS:

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

    Qt:

    1. qt4 - ${QT4_IM_MODULE}:

      请使用您发行版提供的工具将环境变量 QT_IM_MODULE 设为 "fcitx" 或者将 export QT_IM_MODULE=fcitx 添加到您的 ~/.xprofile 中. 参见 输入法相关的环境变量: QT_IM_MODULE.

    2. qt5 - ${QT_IM_MODULE}:

      请使用您发行版提供的工具将环境变量 QT_IM_MODULE 设为 "fcitx" 或者将 export QT_IM_MODULE=fcitx 添加到您的 ~/.xprofile 中. 参见 输入法相关的环境变量: QT_IM_MODULE.

    3. Qt 输入法模块文件:

      找到了 Qt5 的输入法模块: /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so. 找到了未知的 fcitx qt 模块: /usr/lib/x86_64-linux-gnu/qt5/plugins/kcm_fcitx.so. 找到了 Qt4 的输入法模块: /usr/lib/x86_64-linux-gnu/qt4/plugins/inputmethods/qtim-fcitx.so.

    Gtk:

    1. gtk - ${GTK_IM_MODULE}:

      环境变量 GTK_IM_MODULE 的值被设为了 "xim" 而不是 "fcitx". 请检查您是否在某个初始化文件中错误的设置了它的值. 您正在 gtk 程序中使用 xim.

      您可以在 Linux 输入法支持耻辱堂 找到一些会在使用 xim 时出现问题的应用程序. 包括应用程序卡死在内的更多使用 xim 可能出现的普遍问题请参见 这里.

      请使用您发行版提供的工具将环境变量 GTK_IM_MODULE 设为 "fcitx" 或者将 export GTK_IM_MODULE=fcitx 添加到您的 ~/.xprofile 中. 参见 输入法相关的环境变量: GTK_IM_MODULE.

    2. gtk-query-immodules:

      1. gtk 2:

        无法找到 gtk 2 的 gtk-query-immodules.

        无法找到 gtk 2 的 fcitx 输入法模块.

      2. gtk 3:

        无法找到 gtk 3 的 gtk-query-immodules.

        无法找到 gtk 3 的 fcitx 输入法模块.

    3. Gtk 输入法模块缓存:

      1. gtk 2:

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

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

        已找到 gtk 2.24.31 的 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.22.5 的输入法模块缓存. 版本行:

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

        已找到 gtk 3.22.5 的 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. 找到了 24 个已启用的插件:

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

    3. 插件库:

      无法找到插件 fcitx-xkbdbus 的文件 fcitx-xkbdbus.so

      无法找到插件 fcitx-autoeng 的文件 fcitx-autoeng.so

      无法找到插件 fcitx-x11 的文件 fcitx-x11.so

      无法找到插件 fcitx-quickphrase 的文件 fcitx-quickphrase.so

      无法找到插件 fcitx-fullwidth-char 的文件 fcitx-fullwidth-char.so

      无法找到插件 fcitx-rime 的文件 fcitx-rime.so

      无法找到插件 fcitx-kimpanel-ui 的文件 fcitx-kimpanel-ui.so

      无法找到插件 fcitx-clipboard 的文件 fcitx-clipboard.so

      无法找到插件 fcitx-dbus 的文件 fcitx-dbus.so

      无法找到插件 fcitx-remote 的文件 fcitx-remote-module.so

      无法找到插件 fcitx-keyboard 的文件 fcitx-keyboard.so

      无法找到插件 fcitx-vk 的文件 fcitx-vk.so

      无法找到插件 fcitx-classic-ui 的文件 fcitx-classic-ui.so

      无法找到插件 fcitx-notificationitem 的文件 fcitx-notificationitem.so

      无法找到插件 fcitx-lua 的文件 fcitx-lua.so

      无法找到插件 fcitx-unicode 的文件 fcitx-unicode.so

      无法找到插件 fcitx-spell 的文件 fcitx-spell.so

      无法找到插件 fcitx-xim 的文件 fcitx-xim.so

      无法找到插件 fcitx-freedesktop-notify 的文件 fcitx-freedesktop-notify.so

      无法找到插件 fcitx-punc 的文件 fcitx-punc.so

      无法找到插件 fcitx-xkb 的文件 fcitx-xkb.so

      无法找到插件 fcitx-imselector 的文件 fcitx-imselector.so

      无法找到插件 fcitx-ipc 的文件 fcitx-ipc.so

      无法找到插件 fcitx-chttrans 的文件 fcitx-chttrans.so

    4. 用户界面:

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

      fcitx-classic-ui fcitx-kimpanel-ui 

    输入法:

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

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

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

    日志:

    1. date:

      2016 年 12 月 22 日 星期四 11:02:13 CST 
    2. ~/.config/fcitx/log/:

      总用量 4 -rwxrwxrwx 1 solitudechn solitudechn 1 12 月 20 17:27 crash.log* 
    3. ~/.config/fcitx/log/crash.log:

    cat .xprofile ~@solitudechn-work export QT_IM_MODULE=fcitx export GTK_IM_MODULE=fcitx

    之前刚安装完的时候是没有问题,使用 opensuse 相同的配置也是没有问题的,在一次重启之后就出现了这个问题, GTK 下使用是没有问题的,有问题的包括不限于 kde 所有自有组件, virtualbox , shadosocks-qt5 ,

    已安装了所有源中的 fcitx qt5 组件

    fcitx-frontend-qt5/unstable,unstable,now 1.0.5-1+b1 amd64 [已安装,自动] Free Chinese Input Toy of X - Qt5 IM Module frontend

    fcitx-libs-qt5/unstable,unstable,now 1.0.5-1 all [已安装] transitional dummy package

    libfcitx-qt5-1/unstable,unstable,now 1.0.5-1+b1 amd64 [已安装,自动] Free Chinese Input Toy of X - D-Bus client libraries for Qt5

    libfcitx-qt5-dbg/unstable,unstable,now 1.0.5-1+b1 amd64 [已安装] Free Chinese Input Toy of X - Debugging symbols for libfcitx-qt5

    libfcitx-qt5-dev/unstable,unstable,now 1.0.5-1+b1 amd64 [已安装] Free Chinese Input Toy of X - Devel files for libfcitx-qt5

    特此求解

    21 条回复    2016-12-24 21:22:38 +08:00
    hosiet
        1
    hosiet  
       2016-12-22 13:04:36 +08:00 via Android
    日志写得非常清楚,照着来即可
    Solitudechn
        2
    Solitudechn  
    OP
       2016-12-22 15:38:53 +08:00
    @hosiet 很抱歉,不知道你所说的日志是什么?
    ~/.config/fcitx/log/crash.log ?
    > cat ~/.config/fcitx/log/crash.log ~@solitudechn-work

    > ~@solitudechn-work


    很抱歉,日志为空





    gtk - ${GTK_IM_MODULE}:

    环境变量 GTK_IM_MODULE 的值被设为了 "xim" 而不是 "fcitx". 请检查您是否在某个初始化文件中错误的设置了它的值. 您正在 gtk 程序中使用 xim.

    您可以在 Linux 输入法支持耻辱堂 找到一些会在使用 xim 时出现问题的应用程序. 包括应用程序卡死在内的更多使用 xim 可能出现的普遍问题请参见 这里.

    请使用您发行版提供的工具将环境变量 GTK_IM_MODULE 设为 "fcitx" 或者将 export GTK_IM_MODULE=fcitx 添加到您的 ~/.xprofile 中. 参见 输入法相关的环境变量: GTK_IM_MODULE.


    这样的报告?

    很抱歉,我已经加进去了,但是没有任何用处
    ipwx
        3
    ipwx  
       2016-12-22 15:48:18 +08:00
    apt-get install fcitx-*
    Solitudechn
        4
    Solitudechn  
    OP
       2016-12-22 16:15:47 +08:00 via Android
    @ipwx 那个貌似,我之前写了一下,在某次重启前是可以用的…
    bsidb
        5
    bsidb  
       2016-12-22 22:38:58 +08:00 via Android
    环境变量没设置好,提示了 QT 相关的环境变量没有设置。
    leighton
        6
    leighton  
       2016-12-23 03:13:19 +08:00
    安装 fcitx-qt4 fcitx-qt5 ,然后在 /etc/profile 或 ~/.xprofile 中添加 export QT_IM_MODULE=fcitx
    Solitudechn
        7
    Solitudechn  
    OP
       2016-12-23 08:54:58 +08:00 via Android
    @bsidb 亲,我安装了,也添加了…
    Solitudechn
        8
    Solitudechn  
    OP
       2016-12-23 08:55:21 +08:00 via Android
    @attentionlee06 我真的安装了也添加了,
    Solitudechn
        9
    Solitudechn  
    OP
       2016-12-23 08:55:38 +08:00 via Android
    先谢谢各位了,我换回 gnome 了…
    hosiet
        10
    hosiet  
       2016-12-23 09:36:54 +08:00 via Android
    到 ~/.kde/env/ 目录下面创建一个带执行权限的以 .sh 结尾的文件,把上面那几行写进去再试试。还不行就真帮不了你了。目录不存在的话先创建一个。以上使用 KDE Plasma 5 , KDE4 没试过。

    总之我先去上游报了个 Bug 跟踪一下这个问题: github.com/fcitx/fcitx/issues/315
    hosiet
        11
    hosiet  
       2016-12-23 09:57:03 +08:00 via Android
    最后检查 im-config 工具显示的情况,确保选中的都是 fcitx 。
    bsidb
        12
    bsidb  
       2016-12-23 11:10:46 +08:00 via Android
    @Solitudechn 如果你添加了,但是 fcitx-diagnose 提示还是有环境变量配置错的问题,说明添加的方式不对~
    Solitudechn
        13
    Solitudechn  
    OP
       2016-12-23 13:50:35 +08:00 via Android
    @hosiet 谢谢,我之前考虑过向上有提问,但是找不到在哪里, bug 追踪,在 debian sid 都有崩溃的可能… im-config 我也配置过了,但是没有任何反应
    Solitudechn
        14
    Solitudechn  
    OP
       2016-12-23 13:51:56 +08:00 via Android
    @bsidb 我尝试按照提示添加,按照 arch wiki 里的添加,或者添加到 profile 里,但是还真没按照楼上的放到 kde 的配置目录里…晚上做个实验看看还不会出现这种情况,毕竟我是因为 kde 很好开,才去用的 kdw
    Solitudechn
        15
    Solitudechn  
    OP
       2016-12-23 13:52:08 +08:00 via Android
    @bsidb kde
    bsidb
        16
    bsidb  
       2016-12-23 15:26:13 +08:00 via Android
    @Solitudechn 最最最大招是把环境变量定义放在.bashrc 里。 配置后自己用 echo 命令就能检查环境变量是不是配置好了~
    Solitudechn
        17
    Solitudechn  
    OP
       2016-12-24 07:27:40 +08:00 via Android
    @bsidb 我直接 export 也没有用啊…
    bsidb
        18
    bsidb  
       2016-12-24 08:37:30 +08:00 via Android
    @Solitudechn 是不是输错了?
    Solitudechn
        19
    Solitudechn  
    OP
       2016-12-24 08:42:03 +08:00 via Android
    @bsidb 其实我想说的是*rc 不能影响 x windows 吧 而且 export 是易失的啊
    linux40
        20
    linux40  
       2016-12-24 09:19:31 +08:00 via Android
    可以参考 archwiki 的 fcitx 和 kde 页。
    bsidb
        21
    bsidb  
       2016-12-24 21:22:38 +08:00 via Android
    @Solitudechn .bashrc 影响很大的,会影响 X 的环境变量。 在.bashrc 中 export 是整个会话全局有效的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3473 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 04:42 PVG 12:42 LAX 21:42 JFK 00:42
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86