页次: 1
装了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)
离线
这是我见过的 问题描述看似是最清晰的一个 可惜我也不会
Arch Linux User
离线
sudo cat /proc/$(pidof /usr/bin/fcitx-dbus-watcher)/environ
sudo cat /proc/$(pidof /usr/bin/fcitx)/environ
发来看看
离线
离线
我的.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的,还有什么问题吗,实在搞不清楚。
离线
补充一下,本来export LC_ALL=en_US.utf-8 是设置为中文的,想在文字界面用英文,在图形界面用中文,但是出现了fcitx在中文环境无法启用的问题,然后改为这一句的,但是问题还是没解决。后来尝试也在xprofile中设置环境变量,还是没起作用。arch 真是难搞,新手玩不起呀!
离线
今天终于把问题解决了,就是在设置/etc/locale.conf文件时,中文不能写成zh_CN.utf-8,而是要写成zh_CN.utf8,系统才能正确地读取,才能正确地启用fcitx。
离线
今天终于把问题解决了,就是在设置/etc/locale.conf文件时,中文不能写成zh_CN.utf-8,而是要写成zh_CN.utf8,系统才能正确地读取,才能正确地启用fcitx。
呃,原来是这样么,又是这种问题……
我那个里边一直写的是 LANG=en_US.UTF-8,在登录到图形界面时再改成 zh_CN.UTF-8 的。
离线
本人初次接触linux ,真是让版主见笑了。希望以后的路能 继续走下去,不然就只能在windows下玩了。
离线
本人初次接触linux ,真是让版主见笑了。希望以后的路能 继续走下去,不然就只能在windows下玩了。
我是说,gvim 也曾经遇到过这种问题。
离线
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 才能正常使用吧?
离线
百合仙子 说: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。
离线
页次: 1