Fcitx 4.2.8.3 在 Qt 5.2.1 下无法使用

已经安装了 fcitx-qt5,环境变量也已经添加。

另外,fcitx-diagnose 结果如下:

# 系统信息:
1. `uname -a`:
 Linux localhost 3.11.10-7-desktop #1 SMP PREEMPT Mon Feb 3 09:41:24 UTC 2014 (750023e) x86_64 x86_64 x86_64 GNU/Linux
 2. `lsb_release -a`:
 LSB Version: n/a
 Distributor ID: openSUSE project
 Description: openSUSE 13.1 (Bottle) (x86_64)
 Release: 13.1
 Codename: Bottle
 3. `lsb_release -d`:
 Description: openSUSE 13.1 (Bottle) (x86_64)
 4. `/etc/lsb-release`:
 `/etc/lsb-release` 未找到.
5. `/etc/os-release`:
 NAME=openSUSE
 VERSION="13.1 (Bottle)"
 VERSION_ID="13.1"
 PRETTY_NAME="openSUSE 13.1 (Bottle) (x86_64)"
 ID=opensuse
 ANSI_COLOR="0;32"
 CPE_NAME="cpe:/opensusepensuse:13.1"
 BUG_REPORT_URL="https://bugs.opensuse.org"
 HOME_URL="https://opensuse.org/"
 ID_LIKE="suse"
 6. 桌面环境:
桌面环境为 `kde`。
# 环境:
1. DISPLAY:
 DISPLAY=':0.0'
 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", "", ""
 3. Locale:
 1. 全部可用 locale:
(这里省略掉)
4. Current user:
 The script is run as root (0).
 **You are probably logging in as `root` or using `sudo` to run this script. This either means you have security problems or the result of this script may not be accurate. See [Why is it bad to run as root](https://www.google.com/search?q=Why+is+it+bad+to+run+as+root) or [sudo environment variables](https://www.google.com/search?q=sudo+environment+variables) for more information.**
 # Fcitx 状态:
1. 可执行文件:
在 `/usr/bin/fcitx` 找到了 fcitx.
 2. 版本:
Fcitx 版本: `4.2.8.3`
 3. 进程:
找到了 2 个 fcitx 进程:
3266 fcitx
 3289 fcitx-dbus-watc
 4. `fcitx-remote`:
 `fcitx-remote` 工作正常.
 # 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 的配置界面:
 找到了 fcitx 的 kcm 模块。
kcm_fcitx - 配置输入法
# 前端设置:
 ## Xim:
 1. `${XMODIFIERS}`:
环境变量 XMODIFIERS 已经正确地设为了 "@im=fcitx".
从环境变量中获取的 Xim 服务名称为 fcitx.
 2. 根窗口上的 XIM_SERVERS:
 Xim 服务的名称与环境变量中设置的相同.
 ## Qt:
 1. `${QT_IM_MODULE}`:
环境变量 QT_IM_MODULE 已经正确地设为了 "fcitx".
 2. Qt 输入法模块文件:
找到了 Qt4 的输入法模块: `/usr/lib/qt4/plugins/inputmethods/qtim-fcitx.so`.
找到了 Qt4 的输入法模块: `/usr/lib64/qt4/plugins/inputmethods/qtim-fcitx.so`.
找到了 fcitx 的 qt 模块: `/usr/lib64/fcitx/qt/libfcitx-libpinyin-dictmanager.so`.
找到了 fcitx 的 qt 模块: `/usr/lib64/fcitx/qt/libfcitx-quickphrase-editor.so`.
找到了 Qt5 的输入法模块: `/usr/lib64/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so`.
 ## Gtk:
 1. `${GTK_IM_MODULE}`:
环境变量 GTK_IM_MODULE 已经正确地设为了 "fcitx".
 2. `gtk-query-immodules`:
 1. gtk 2:
在 `/usr/bin/gtk-query-immodules-2.0` 找到了 gtk `2.24.22` 的 `gtk-query-immodules`.
版本行:
 # Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.22
已找到 gtk `2.24.22` 的 fcitx 输入法模块.
 "/usr/lib/gtk-2.0/2.10.0/immodules/im-fcitx.so" 
 "fcitx" "Fcitx (Flexible Input Method Framework)" "fcitx" "/usr/share/locale" "ja:ko:zh:*"
在 `/usr/bin/gtk-query-immodules-2.0-64` 找到了 gtk `2.24.22` 的 `gtk-query-immodules`.
版本行:
 # Created by /usr/bin/gtk-query-immodules-2.0-64 from gtk+-2.24.22
已找到 gtk `2.24.22` 的 fcitx 输入法模块.
 "/usr/lib64/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/bin/gtk-query-immodules-3.0` 找到了 gtk `3.10.4` 的 `gtk-query-immodules`.
版本行:
 # Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.10.4
已找到 gtk `3.10.4` 的 fcitx 输入法模块.
 "/usr/lib/gtk-3.0/3.0.0/immodules/im-fcitx.so" 
 "fcitx" "Fcitx (Flexible Input Method Framework)" "fcitx" "/usr/share/locale" "ja:ko:zh:*"
在 `/usr/bin/gtk-query-immodules-3.0-64` 找到了 gtk `3.10.4` 的 `gtk-query-immodules`.
版本行:
 # Created by /usr/bin/gtk-query-immodules-3.0-64 from gtk+-3.10.4
已找到 gtk `3.10.4` 的 fcitx 输入法模块.
 "/usr/lib64/gtk-3.0/3.0.0/immodules/im-fcitx.so" 
 "fcitx" "Fcitx (Flexible Input Method Framework)" "fcitx" "/usr/share/locale" "ja:ko:zh:*"
 2. gtk 3:
在 `/usr/bin/gtk-query-immodules-3.0` 找到了 gtk `3.10.4` 的 `gtk-query-immodules`.
版本行:
 # Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.10.4
已找到 gtk `3.10.4` 的 fcitx 输入法模块.
 "/usr/lib/gtk-3.0/3.0.0/immodules/im-fcitx.so" 
 "fcitx" "Fcitx (Flexible Input Method Framework)" "fcitx" "/usr/share/locale" "ja:ko:zh:*"
在 `/usr/bin/gtk-query-immodules-3.0-64` 找到了 gtk `3.10.4` 的 `gtk-query-immodules`.
版本行:
 # Created by /usr/bin/gtk-query-immodules-3.0-64 from gtk+-3.10.4
已找到 gtk `3.10.4` 的 fcitx 输入法模块.
 "/usr/lib64/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/vmware-tools/lib64/libconf/etc/gtk-2.0/gtk.immodules` 找到了 gtk `2.20.0` 的输入法模块缓存.
版本行:
 # Created by gtk-query-immodules-2.0 from gtk+-2.20.0
 ** 无法输入法模块缓存 `/usr/lib/vmware-tools/lib64/libconf/etc/gtk-2.0/gtk.immodules` 中找到 fcitx**
在 `/usr/lib/vmware-tools/lib32/libconf/etc/gtk-2.0/gtk.immodules` 找到了 gtk `2.20.0` 的输入法模块缓存.
版本行:
 # Created by gtk-query-immodules-2.0 from gtk+-2.20.0
 ** 无法输入法模块缓存 `/usr/lib/vmware-tools/lib32/libconf/etc/gtk-2.0/gtk.immodules` 中找到 fcitx**
在 `/usr/lib/gtk-2.0/2.10.0/immodules.cache` 找到了 gtk `2.24.22` 的输入法模块缓存.
版本行:
 # Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.22
已找到 gtk `2.24.22` 的 fcitx 输入法模块.
 "/usr/lib/gtk-2.0/2.10.0/immodules/im-fcitx.so" 
 "fcitx" "Fcitx (Flexible Input Method Framework)" "fcitx" "/usr/share/locale" "ja:ko:zh:*"
在 `/usr/lib64/gtk-2.0/2.10.0/immodules.cache` 找到了 gtk `2.24.22` 的输入法模块缓存.
版本行:
 # Created by /usr/bin/gtk-query-immodules-2.0-64 from gtk+-2.24.22
已找到 gtk `2.24.22` 的 fcitx 输入法模块.
 "/usr/lib64/gtk-2.0/2.10.0/immodules/im-fcitx.so" 
 "fcitx" "Fcitx (Flexible Input Method Framework)" "fcitx" "/usr/share/locale" "ja:ko:zh:*"
在 `/etc/gtk-2.0/gtk.immodules` 找到了 gtk `2.24.22` 的输入法模块缓存.
版本行:
 # Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.22
 ** 无法输入法模块缓存 `/etc/gtk-2.0/gtk.immodules` 中找到 fcitx**
 2. gtk 3:
在 `/usr/lib/gtk-3.0/3.0.0/immodules.cache` 找到了 gtk `3.10.4` 的输入法模块缓存.
版本行:
 # Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.10.4
已找到 gtk `3.10.4` 的 fcitx 输入法模块.
 "/usr/lib/gtk-3.0/3.0.0/immodules/im-fcitx.so" 
 "fcitx" "Fcitx (Flexible Input Method Framework)" "fcitx" "/usr/share/locale" "ja:ko:zh:*"
在 `/usr/lib64/gtk-3.0/3.0.0/immodules.cache` 找到了 gtk `3.10.4` 的输入法模块缓存.
版本行:
 # Created by /usr/bin/gtk-query-immodules-3.0-64 from gtk+-3.10.4
已找到 gtk `3.10.4` 的 fcitx 输入法模块.
 "/usr/lib64/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. 找到了 32 个已启用的插件:
fcitx-autoeng
 fcitx-chttrans
 fcitx-classic-ui
 fcitx-clipboard
 fcitx-cloudpinyin
 fcitx-dbus
 fcitx-freedesktop-notify
 fcitx-fullwidth-char
 fcitx-googlepinyin
 fcitx-imselector
 fcitx-ipc
 fcitx-keyboard
 fcitx-kimpanel-ui
 fcitx-libpinyin
 fcitx-lua
 fcitx-mozc
 fcitx-notificationitem
 fcitx-pinyin
 fcitx-pinyin-enhance
 fcitx-punc
 fcitx-quickphrase
 fcitx-remote
 fcitx-sogoupinyin
 fcitx-spell
 fcitx-sunpinyin
 fcitx-table
 fcitx-unicode
 fcitx-vk
 fcitx-x11
 fcitx-xim
 fcitx-xkb
 fcitx-xkbdbus
 2. 找到了 0 个被禁用的插件:
3. Addon Libraries:
 All libraries for all addons are found.
 4. 用户界面:
找到了 2 个已启用的用户界面插件:
fcitx-classic-ui
 fcitx-kimpanel-ui
 ## 输入法:
1. 找到了 4 个启用的输入法:
fcitx-keyboard-us
 pinyin
 sogou-pinyin
 googlepinyin
 2. 默认输入法:
您已经正确的将一个键盘输入法 "fcitx-keyboard-us" 设为默认.
 # 日志:
1. `date`:
 2014 年 04 月 23 日 星期三 18:01:58 CST
 2. `~/.config/fcitx/log/`:
总用量 0
 3. `~/.config/fcitx/log/crash.log`:
 `~/.config/fcitx/log/crash.log` 未找到.

求各位提供解决办法。另外,尝试使用自带的 Qt 4.8.5 下没有问题。

可以的话,最好不更换 Qt 版本,因为合作商使用的是这个版本的 Qt,更换代价有点大。

你怎么添加的环境变量?

回女王大人,由于我使用 root 账户登录,所以我是在 root 目录下的.bash_profile 添加的。

哦,贴出来。

大概就是这些。

export GTK_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export QT_IM_MODULE=fcitx
fcitx-qimpanel %U

@Liguoqiang 感觉好像没什么问题啊。

把 QT_IM_MODULE=fcitx 改成这样:

QT4_IM_MODULE=fcitx
QT_IM_MODULE=xim

呢?

果然还是不行,还是不能使用。

你的 fcitx 和 fcitx-qt5 的版本贴出来让我看看。

还有普通用户登录试过吗?

普通用户刚开始不能用的时候就尝试过了,也是不能用。
fcitx 的版本:4.2.8.3-92.1-x86_64
fcitx-qt5 的版本:0.1.1-2.1-x86_64

话说我发现 ibus 在安装了 ibus 的 qt5 插件之后可以在 qt5 的环境下使用,可是不能切换输入法。所有的输入法在 qt4 下正常。

引用薛大大的权威回复:


好的,我这样试试去~

在.profile 添加环境变量还是不行呃……