GTK3程序中不能激活fcitx输入法。其他程序可以。求教

其他Linux/Unix/BSD/OSX等发行版讨论
回复
头像
kumox
帖子: 2114
注册时间: 2008-04-14 23:29
来自: 曾也在NB大学呆过
联系:

GTK3程序中不能激活fcitx输入法。其他程序可以。求教

#1

帖子 kumox » 2015-04-13 20:50

请教大家一个问题。刚装完ARCH和Gnome-shell。使用fcitx输入法。发现fcitx在GTK3程序中无法激活。
具体表现在在GTK3程序中,比如gnome-terninal和Gedit等就是不行,无法激活输入法,显示无输入窗口。
但是其他可以 ,比如QT下面,我QT程序装得少,在virtualbox中尝试,发现可以输入,
其他在chromium,firefox中可以 ,在WPS中也可以 ,甚至在GTK2的Leafpad中也能正常使用。甚至在gnome-shell程序列表中上方的搜索框内也能输入。但是GTK3程序中就是不行。


我是直接在/etc/locale.conf中
LANG=zh_CN.UTF-8
,也尝试过在/etc/locale.conf中
LANG=en_US.UTF-8
,然后在~/.xprofile中进行export LANG=zh_CN.UTF-8。


也设置了以下环境变量。在~/.xprofile和/etc/profile中都进行过尝试。都不行,
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx


以下 是fcitx-diagnose的输出。有人能也帮忙解决么。
[kelltan@Kelltan ~]$ fcitx-diagnose
# 系统信息:
1. `uname -a`:

Linux Kelltan.me 3.19.3-3-ARCH #1 SMP PREEMPT Wed Apr 8 14:10:00 CEST 2015 x86_64 GNU/Linux

2. `lsb_release -a`:

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

3. `lsb_release -d`:

Description: Arch Linux

4. `/etc/lsb-release`:

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

5. `/etc/os-release`:

NAME="Arch Linux"
ID=arch
PRETTY_NAME="Arch Linux"
ANSI_COLOR="0;36"
HOME_URL="https://www.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"

6. 桌面环境:

桌面环境为 `gnome3`。

# 环境:
1. DISPLAY:

DISPLAY=':1'

2. 键盘布局:

1. `setxkbmap`:

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

2. `xprop`:

_XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us,cn", "", ""

3. Locale:

1. 全部可用 locale:

C
en_US.utf8
POSIX
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8

2. 当前 locale:

LANG=zh_CN.UTF-8
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/kelltan

2. `${XDG_CONFIG_HOME}`:

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

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

3. Fcitx 设置目录:

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

5. 当前用户:

脚本作为 kelltan (1000) 运行。

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

在 `/usr/bin/fcitx` 找到了 fcitx.

2. 版本:

Fcitx 版本: `4.2.8.5`

3. 进程:

找到了 2 个 fcitx 进程:

3565 fcitx
3574 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 的配置界面:

**`kcmshell4` 未找到.**

# 前端设置:
## 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 输入法模块文件:
找到了 Qt4 的输入法模块: `/usr/lib/qt4/plugins/inputmethods/qtim-fcitx.so`.
找到了 fcitx 的 qt 模块: `/usr/lib/fcitx/qt/libfcitx-quickphrase-editor.so`.
**无法找到 Qt5 的 fcitx 输入法模块.**

## 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.27` 的 `gtk-query-immodules`.
版本行:

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

已找到 gtk `2.24.27` 的 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:*"

2. gtk 3:

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

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

已找到 gtk `3.16.1` 的 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:*"

3. Gtk 输入法模块缓存:

1. gtk 2:

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

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

已找到 gtk `2.24.27` 的 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:*"

2. gtk 3:

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

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

已找到 gtk `3.16.1` 的 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:*"

4. Gtk 输入法模块文件:

1. gtk 2:

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

2. gtk 3:

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

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

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

2. 插件列表:

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

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-notificationitem
fcitx-pinyin
fcitx-pinyin-enhance
fcitx-punc
fcitx-quickphrase
fcitx-remote
fcitx-spell
fcitx-table
fcitx-unicode
fcitx-vk
fcitx-x11
fcitx-xim
fcitx-xkb
fcitx-xkbdbus

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

fcitx-qw

3. 插件库:

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

4. 用户界面:

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

fcitx-classic-ui
fcitx-kimpanel-ui

Kimpanel 进程:

800 /usr/bin/gnome-shell

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

fcitx-keyboard-us
wbpy
wubi
googlepinyin

2. 默认输入法:

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

# 日志:
1. `date`:

2015年 04月 13日 星期一 20:34:41 CST

2. `~/.config/fcitx/log/`:

总用量 0

3. `~/.config/fcitx/log/crash.log`:

`~/.config/fcitx/log/crash.log` 未找到.
kelltan.me
头像
kumox
帖子: 2114
注册时间: 2008-04-14 23:29
来自: 曾也在NB大学呆过
联系:

Re: GTK3程序中不能激活fcitx输入法。其他程序可以。求教

#2

帖子 kumox » 2015-04-14 20:59

应该是GDM3.16的问题。
降级GDM解决了
或者用KDM或者lightdm等其他DM替换GDM使用
kelltan.me
回复