您尚未登录。

#1 2014-04-21 22:41:15

nk1m
会员
注册时间: 2014-04-12
帖子: 5

fcitx输入法在中文环境下启动不了,sos

装了fcitx ,也设置了/.xinitrc 中的环境变量,但是只能在系统语言为英文的情况下使用,改为中文环境carl+space 就调不出中文,无法输入中文。输入fcitx-diagnose命令,得到如下内容

# 系统信息:
1.  `uname -a`:

        Linux HomeHost 3.14.1-1-ARCH #1 SMP PREEMPT Mon Apr 14 20:40:47 CEST 2014 x86_64 GNU/Linux

2.  `lsb_release`:

    `lsb_release` 未找到.

3.  `/etc/lsb-release`:

    `/etc/lsb-release` 未找到.

4.  `/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/"

5.  桌面环境:

    桌面环境为 `xfce`。

# 环境:
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)"	};
            	xkb_geometry  { include "pc(pc104)"	};
            };

    2.  `xprop`:

        `xprop` 未找到.

3.  Locale:

    1.  全部可用 locale:

            C
            en_US
            en_US.iso88591
            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.  Current user:

    The script is run as nk1m (1000).

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

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

2.  版本:

    Fcitx 版本: `4.2.8.3`

3.  进程:

    找到了 2 个 fcitx 进程:

          582 fcitx
          591 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 is not set**

    **请使用您发行版提供的工具将环境变量 XMODIFIERS 设为 "@im=fcitx" 或者将 `export XMODIFIERS=@im=fcitx` 添加到您的 `~/.xprofile` 中. 参见 [输入法相关的环境变量: XMODIFIERS]([url]http://fcitx-im.org/wiki/Input_method_related_environment_variables/zh-cn#XMODIFIERS[/url]).**
    从环境变量中获取的 Xim 服务名称为 fcitx.

2.  根窗口上的 XIM_SERVERS:

    **`xprop` 未找到.**

## Qt:
1.  `${QT_IM_MODULE}`:

    **请使用您发行版提供的工具将环境变量 QT_IM_MODULE 设为 "fcitx" 或者将 `export QT_IM_MODULE=fcitx` 添加到您的 `~/.xprofile` 中. 参见 [输入法相关的环境变量: QT_IM_MODULE]([url]http://fcitx-im.org/wiki/Input_method_related_environment_variables/zh-cn#QT_IM_MODULE[/url]).**

2.  Qt 输入法模块文件:
    找到了 fcitx 的 qt 模块: `/usr/lib/fcitx/qt/libfcitx-quickphrase-editor.so`.
    找到了 Qt4 的输入法模块: `/usr/lib/qt4/plugins/inputmethods/qtim-fcitx.so`.
    Qt5**无法找到 ${1} 的 fcitx 输入法模块.**

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

    **请使用您发行版提供的工具将环境变量 GTK_IM_MODULE 设为 "fcitx" 或者将 `export GTK_IM_MODULE=fcitx` 添加到您的 `~/.xprofile` 中. 参见 [输入法相关的环境变量: GTK_IM_MODULE]([url]http://fcitx-im.org/wiki/Input_method_related_environment_variables/zh-cn#GTK_IM_MODULE[/url]).**

2.  `gtk-query-immodules`:

    1.  gtk 2:

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

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

        已找到 gtk `2.24.23` 的 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.12.1` 的 `gtk-query-immodules`.
        版本行:

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

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

            # Created by gtk-query-immodules-2.0 from gtk+-2.24.23

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

            # Created by gtk-query-immodules-3.0 from gtk+-3.12.1

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

            fcitx-autoeng
            fcitx-chttrans
            fcitx-classic-ui
            fcitx-clipboard
            fcitx-dbus
            fcitx-freedesktop-notify
            fcitx-fullwidth-char
            fcitx-googlepinyin
            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.  Addon Libraries:

    All libraries for all addons are found.

4.  用户界面:

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

        fcitx-classic-ui
        fcitx-kimpanel-ui

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

        fcitx-keyboard-us
        googlepinyin

2.  默认输入法:

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

# 日志:
1.  `date`:

        2014年 04月 21日 星期一 21:59:37 CST

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

        总用量 0

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

    `~/.config/fcitx/log/crash.log` 未找到.

明明已经设置了环境变量,为什么没有用呢。改在~/xprofile 中设置环境变量,还是解决不了问题,请哪位大侠来给分析分析。

最近编辑记录 依云 (2014-04-22 15:22:20)

离线

#2 2014-04-22 09:07:56

wxg4net
会员
注册时间: 2012-01-07
帖子: 274

Re: fcitx输入法在中文环境下启动不了,sos

这是我见过的 问题描述看似是最清晰的一个 可惜我也不会


Arch Linux User

离线

#3 2014-04-22 13:08:19

atmouse
会员
注册时间: 2011-08-24
帖子: 701

Re: fcitx输入法在中文环境下启动不了,sos

sudo cat /proc/$(pidof /usr/bin/fcitx-dbus-watcher)/environ
sudo cat /proc/$(pidof /usr/bin/fcitx)/environ

发来看看

离线

#4 2014-04-22 15:21:14

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

Re: fcitx输入法在中文环境下启动不了,sos

离线

#5 2014-04-22 19:09:05

nk1m
会员
注册时间: 2014-04-12
帖子: 5

Re: fcitx输入法在中文环境下启动不了,sos

我的.xinitrc 文件内容如下,是在/home/nk1m/.xinitrc下的

#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
export LC_ALL=en_US.utf-8

export GTK_IM_MODULE=xim
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
exec fcitx &

if [ -d /etc/X11/xinit/xinitrc.d ]; then
  for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
  done
  unset f
fi

# exec gnome-session
# exec startkde
exec startxfce4
# ...or the Window Manager of your choice

设置完变量,然后才启动xfce4的,还有什么问题吗,实在搞不清楚。

离线

#6 2014-04-22 19:21:00

nk1m
会员
注册时间: 2014-04-12
帖子: 5

Re: fcitx输入法在中文环境下启动不了,sos

补充一下,本来export LC_ALL=en_US.utf-8 是设置为中文的,想在文字界面用英文,在图形界面用中文,但是出现了fcitx在中文环境无法启用的问题,然后改为这一句的,但是问题还是没解决。后来尝试也在xprofile中设置环境变量,还是没起作用。arch 真是难搞,新手玩不起呀!

离线

#7 2014-04-23 12:24:36

nk1m
会员
注册时间: 2014-04-12
帖子: 5

Re: fcitx输入法在中文环境下启动不了,sos

今天终于把问题解决了,就是在设置/etc/locale.conf文件时,中文不能写成zh_CN.utf-8,而是要写成zh_CN.utf8,系统才能正确地读取,才能正确地启用fcitx。

离线

#8 2014-04-23 12:46:16

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

Re: fcitx输入法在中文环境下启动不了,sos

nk1m 说:

今天终于把问题解决了,就是在设置/etc/locale.conf文件时,中文不能写成zh_CN.utf-8,而是要写成zh_CN.utf8,系统才能正确地读取,才能正确地启用fcitx。

呃,原来是这样么,又是这种问题……
我那个里边一直写的是 LANG=en_US.UTF-8,在登录到图形界面时再改成 zh_CN.UTF-8 的。

离线

#9 2014-04-23 20:31:14

nk1m
会员
注册时间: 2014-04-12
帖子: 5

Re: fcitx输入法在中文环境下启动不了,sos

本人初次接触linux ,真是让版主见笑了。希望以后的路能 继续走下去,不然就只能在windows下玩了。

离线

#10 2014-04-24 09:33:17

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

Re: fcitx输入法在中文环境下启动不了,sos

nk1m 说:

本人初次接触linux ,真是让版主见笑了。希望以后的路能 继续走下去,不然就只能在windows下玩了。

我是说,gvim 也曾经遇到过这种问题。

离线

#11 2014-05-25 05:39:29

everyx
会员
所在地: 安徽安庆
注册时间: 2011-08-27
帖子: 47

Re: fcitx输入法在中文环境下启动不了,sos

百合仙子 说:
nk1m 说:

今天终于把问题解决了,就是在设置/etc/locale.conf文件时,中文不能写成zh_CN.utf-8,而是要写成zh_CN.utf8,系统才能正确地读取,才能正确地启用fcitx。

呃,原来是这样么,又是这种问题……
我那个里边一直写的是 LANG=en_US.UTF-8,在登录到图形界面时再改成 zh_CN.UTF-8 的。

我用  en_US.UTF-8 一直都没有问题啊,不是一定要设置为 zh_CN.UTF-8 才能正常使用吧?

离线

#12 2014-05-25 12:25:12

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

Re: fcitx输入法在中文环境下启动不了,sos

everyx 说:
百合仙子 说:
nk1m 说:

今天终于把问题解决了,就是在设置/etc/locale.conf文件时,中文不能写成zh_CN.utf-8,而是要写成zh_CN.utf8,系统才能正确地读取,才能正确地启用fcitx。

呃,原来是这样么,又是这种问题……
我那个里边一直写的是 LANG=en_US.UTF-8,在登录到图形界面时再改成 zh_CN.UTF-8 的。

我用  en_US.UTF-8 一直都没有问题啊,不是一定要设置为 zh_CN.UTF-8 才能正常使用吧?

对。但是一定要写一个能用的 locale。

离线

页脚