[已解决]fcitx最近升级后不能在emacs内输中文

其他Linux/Unix/BSD/OSX等发行版讨论
回复
tririver
帖子: 43
注册时间: 2008-01-10 9:33
联系:

[已解决]fcitx最近升级后不能在emacs内输中文

#1

帖子 tririver »

fcitx最近升级后(4.2.8),在emacs(24.3)里面能打开输入框,可以在输入框内打字,但是字不能上屏。别的软件里,例如konsole, chrome, libreoffice里面fcitx可以正常使用。问下大家有什么办法?谢谢!

补充一下,虽然系统的locale是en_US.UTF-8,emacs是用LANG=zh_CN.UTF8 emacs启动的。所以不是locale的问题(并且在en_US locale下emacs是连输入框都出不来的)。

代码: 全选

~$ fcitx-diagnose
# System Info:
1.  `uname -a`:

        Linux cosmo-ipmu 3.9.9-1-ARCH #1 SMP PREEMPT Wed Jul 3 22:45:16 CEST 2013 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.  Desktop Environment:

    Desktop environment is `kde`.

# Environment:
1.  DISPLAY:

        DISPLAY=':0'

2.  Keyboard Layout:

    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`:

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

3.  Locale:

    1.  All locale:

            C
            en_US.utf8
            POSIX

    2.  Current locale:

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

# Fcitx State:
1.  executable:

    Found fcitx at `/usr/bin/fcitx`.

2.  version:

    Fcitx version: `4.2.8`

3.  process:

    Found 2 fcitx processes:

         2078 fcitx
         2087 fcitx-dbus-watc

4.  `fcitx-remote`:

    `fcitx-remote` works properly.

# Fcitx Configure UI:
1.  Config Tool Wrapper:

    Found fcitx-configtool at `/usr/bin/fcitx-configtool`.

2.  Config GUI for gtk2:

    **Config GUI for gtk2 not found.**

3.  Config GUI for gtk3:

    **Config GUI for gtk3 not found.**

4.  Config GUI for kde:

    **Cannot find a GUI config tool, please install one of `kcm-fcitx`, `fcitx-config-gtk2`, or `fcitx-config-gtk3`.**

# Frontends setup:
## Xim:
1.  `${XMODIFIERS}`:

    Environment variable XMODIFIERS is set to "@im=fcitx" correctly.
    Xim Server Name from Environment variable is fcitx.

2.  XIM_SERVERS on root window:

    Xim server name is the same with that set in the environment variable.

3.  XIM for Emacs:

    **Your LC_CTYPE is set to en_US.UTF-8 instead of one of zh, ja, ko. You may not be able to use input method in emacs because of an really old emacs bug that upstream refuse to fix for years.**

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

    Environment variable QT_IM_MODULE is set to "fcitx" correctly.

2.  Qt IM module files:
    Found fcitx qt module: `/usr/lib/fcitx/qt/libfcitx-quickphrase-editor.so`.
    Found fcitx im module for Qt4: `/usr/lib/qt4/plugins/inputmethods/qtim-fcitx.so`.
    Qt5**Cannot find fcitx input method module for ${1}.**

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

    Environment variable GTK_IM_MODULE is set to "fcitx" correctly.

2.  `gtk-query-immodules`:

    1.  gtk 2:

        Found `gtk-query-immodules` for gtk `2.24.20` at `/usr/bin/gtk-query-immodules-2.0`.
        Version Line:

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

        Found fcitx im modules for gtk `2.24.20`.

            "/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:*" 

        Found `gtk-query-immodules` for gtk `2.24.19` at `/usr/bin/gtk-query-immodules-2.0-32`.
        Version Line:

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

        **Failed to find fcitx in the output of `/usr/bin/gtk-query-immodules-2.0-32`**

    2.  gtk 3:

        Found `gtk-query-immodules` for gtk `3.8.2` at `/usr/bin/gtk-query-immodules-3.0`.
        Version Line:

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

        Found fcitx im modules for gtk `3.8.2`.

            "/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 IM module cache:

    1.  gtk 2:

        Found immodules cache for gtk `2.24.20` at `/usr/lib/gtk-2.0/2.10.0/immodules.cache`.
        Version Line:

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

        Found fcitx im modules for gtk `2.24.20`.

            "/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:*" 

        Found immodules cache for gtk `2.24.18` at `/etc/gtk-2.0/gtk.immodules~`.
        Version Line:

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

        Found fcitx im modules for gtk `2.24.18`.

            "/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:*" 

        Found immodules cache for gtk `2.24.19` at `/etc/gtk-2.0/gtk.immodules-32`.
        Version Line:

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

        **Failed to find fcitx in immodule cache at `/etc/gtk-2.0/gtk.immodules-32`**

    2.  gtk 3:

        Found immodules cache for gtk `3.8.2` at `/usr/lib/gtk-3.0/3.0.0/immodules.cache`.
        Version Line:

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

        Found fcitx im modules for gtk `3.8.2`.

            "/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 IM module files:

    1.  gtk 2:

        All found Gtk 2 immodule files exist.

    2.  gtk 3:

        All found Gtk 3 immodule files exist.

# Configuration:
## Fcitx Addons:
1.  Addon Config Dir:

    Found fcitx addon config directory: `/usr/share/fcitx/addon`.

2.  Addon List:

    1.  Found 26 enabled addons:

            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-sogoupinyin
            fcitx-spell
            fcitx-table
            fcitx-unicode
            fcitx-vk
            fcitx-x11
            fcitx-xim
            fcitx-xkb
            fcitx-xkbdbus

    2.  Found 1 disabled addons:

            fcitx-qw

    3.  User Interface:

        Found 2 enabled user interface addons:

            fcitx-classic-ui
            fcitx-kimpanel-ui

## Input Methods:
1.  Found 6 enabled input methods:

        fcitx-keyboard-us
        pinyin
        shuangpin
        wubi
        wbpy
        sogou-pinyin

2.  Default input methods:

    You have a keyboard input method "fcitx-keyboard-us" correctly added as your default input method.

# Log:
1.  `date`:

        Fri Jul  5 13:44:11 JST 2013

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

        total 4
        -rw-r--r-- 1 wangyi users 44 Jul  5 13:38 crash.log

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

        fcitx: BadWindow (invalid Window parameter)
上次由 tririver 在 2013-07-05 15:09,总共编辑 1 次。
tririver
帖子: 43
注册时间: 2008-01-10 9:33
联系:

Re: fcitx最近升级后不能在emacs内输中文

#2

帖子 tririver »

问题解决了,不是fcitx的问题,而是最近升级的时候,不知怎么zh_CN-UTF8 locale不见了。重新设置locale之后一切正常。
头像
momova
帖子: 3381
注册时间: 2007-07-11 21:43
系统: archlinux
来自: 东江边

Re: fcitx最近升级后不能在emacs内输中文

#3

帖子 momova »

tririver 写了:问题解决了,不是fcitx的问题,而是最近升级的时候,不知怎么zh_CN-UTF8 locale不见了。重新设置locale之后一切正常。
不对啊,我的也是这样啊,wineqq,recoll之类的都没办法输入中文。
.xinitrc

export XIM_PROGRAM=fcitx
export XIM=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
.xprofile

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
export XIM=fcitx
export XIM_PROGRAM=fcitx
.xbashrc

export XMODIFIERS="@im=fcitx"
export XIM=fcitx
export XIM_PROGRAM=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"


这全都没错啊,还是一样的不能输入
我来了,我看见了,我征服了!
求勾搭,不管饭。
头像
momova
帖子: 3381
注册时间: 2007-07-11 21:43
系统: archlinux
来自: 东江边

Re: fcitx最近升级后不能在emacs内输中文

#4

帖子 momova »

不过在终端运行fcitx的时候有提示
(WARN-5999 /build/fcitx/src/fcitx-4.2.8/src/frontend/xim/xim.c:161) 请设置环境变量XMODIFIERS
我都设置了,还要设置哪里呢?
我来了,我看见了,我征服了!
求勾搭,不管饭。
回复