您尚未登录。

#1 2014-11-07 17:20:33

knight
会员
注册时间: 2014-11-07
帖子: 84

[已解决]中文输入法不可用

最近得点闲,再试Arch,但安装桌面等(相当于BLFS的部分)的时候进行不下去了。
    于是准备先找个Arch的有图形界面的发行版或衍生版试用一下,熟悉一点之后再折腾。
在论坛里看到Chakra、Manjaro、KahelOS,下载了镜像,准备了两个30GB的分区,开始安
装。
    启动Live后发现Chakra是Arch的分支,已经不是Arch了。不管了,先装了试试。安装过
程很顺利,进系统之后发现没有中文输入法,用那个图形安装工具装上了中文输入法,发现
输入法无法切换,只能输入英文,在托盘区手动选择五笔输入法,打出来的还是英文。
    然后装Manjaro的openbox64位版,这回连输入法的图标都没有了,只能打英文。

    感觉Arch确实更快,但没法输入中文那平时怎么用啊?哪位兄弟有解决的办法?先把输
入法搞定,视频播放的问题我再去折腾。另外顺便问一下,openbox在任务栏上右击窗口的
图标是不是关闭窗口?

最近编辑记录 knight (2014-12-19 12:43:48)

离线

#2 2014-11-07 17:37:44

savvvygh
会员
注册时间: 2014-02-16
帖子: 160

Re: [已解决]中文输入法不可用

如果能安装到基本系统,再安装桌面就是一条命令的事,怎么会进行不下去呢?
这几个发行版貌似对中文的支持都不好,Chakra试过,其他没有。不知道怎么弄。
最后一句话很奇怪,openbox有任务栏吗?是tint2吧?

离线

#3 2014-11-07 18:18:04

knight
会员
注册时间: 2014-11-07
帖子: 84

Re: [已解决]中文输入法不可用

savvvygh 说:

如果能安装到基本系统,再安装桌面就是一条命令的事,怎么会进行不下去呢?
这几个发行版貌似对中文的支持都不好,Chakra试过,其他没有。不知道怎么弄。
最后一句话很奇怪,openbox有任务栏吗?是tint2吧?

就是桌面顶上那条,openbox叫什么我不清楚,第一次用,看起来和任务栏是一样的,我想看看右键菜单,结果一点右键窗口就没了。

离线

#4 2014-11-07 18:53:29

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

Re: [已解决]中文输入法不可用

你先把输入法安装了并且跑起来吧:

pacman -S fcitx-im

离线

#5 2014-11-07 19:25:16

pk
会员
注册时间: 2014-07-09
帖子: 60

Re: [已解决]中文输入法不可用

chakra没用过。
arch里装fcitx时,要运行下 fcitx-configtool,添加一个keybroad,拼音就叫pingying,五笔wubi

离线

#6 2014-11-07 19:26:01

pk
会员
注册时间: 2014-07-09
帖子: 60

Re: [已解决]中文输入法不可用

还有openbox没有任务栏,你那个可能是tint2

离线

#7 2014-11-07 20:37:39

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

Re: [已解决]中文输入法不可用

pk 说:

chakra没用过。
arch里装fcitx时,要运行下 fcitx-configtool,添加一个keybroad,拼音就叫pingying,五笔wubi

如果是中文 locale 的话,拼音就叫「拼音」,五笔就叫「五笔」=w=

离线

#8 2014-11-07 21:24:48

knight
会员
注册时间: 2014-11-07
帖子: 84

Re: [已解决]中文输入法不可用

百合仙子 说:

你先把输入法安装了并且跑起来吧:

pacman -S fcitx-im

fcitx已经装好了,就是切换不出中文输入法。

离线

#9 2014-11-07 22:01:42

pk
会员
注册时间: 2014-07-09
帖子: 60

Re: [已解决]中文输入法不可用

百合仙子 说:
pk 说:

chakra没用过。
arch里装fcitx时,要运行下 fcitx-configtool,添加一个keybroad,拼音就叫pingying,五笔wubi

如果是中文 locale 的话,拼音就叫「拼音」,五笔就叫「五笔」=w=



这样啊,没用过中文的locale,误导误导。。

离线

#10 2014-11-07 22:05:25

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

Re: [已解决]中文输入法不可用

knight 说:
百合仙子 说:

你先把输入法安装了并且跑起来吧:

pacman -S fcitx-im

fcitx已经装好了,就是切换不出中文输入法。

fcitx-diagnose 命令通常能告诉你有什么问题。

离线

#11 2014-12-18 10:49:23

knight
会员
注册时间: 2014-11-07
帖子: 84

Re: [已解决]中文输入法不可用

百合仙子 说:

fcitx-diagnose 命令通常能告诉你有什么问题。

前一个正常了,新的又出问题了。

之前在台式机上安装的fcitx是配置文件的问题,
输入法图标上右键→“配置”,所有的配置不知道保存在哪了,
在“配置”里查看配置都是对的,但是进用户目录查看配置文件
发现每一行前面都是#号,手动修改并保存后,一切正常了。

前天在SD卡上安装了一个64位Arch,又出现了fcitx不能切换的问题。
用的是lxdm显示管理器,用户目录下没找到.xprofile和.xinitrc文件,
然后是在.bashrc中export了,没用。
在autostart下建.desktop文件也试了,没用。
然后在leafpad下右键,发现有输入法选择,默认的是“系统(X输入法)”,
改成“Fcitx(Flexible Input Method Framework)”,正常了。
现在就是在leafpad下打的字,但其它地方输入法还是不正常,
leafpad也是每次打开都要重新选一下才能用。

下面有fcitx-diagnose的输出,
我有两个思路,一个是让Fcitx变成系统默认,
另一个是建一个.xprofile文件,不知是否可行。
系统设置里没找到输入法相关设置,手动改也不清楚是哪些配置文件。
准备自己新建一个.xprofile文件,一会去查查有没有格式要求。

神仙姐姐给拿个主意呗。


[knight@Karch_64 ~]$ fcitx-diagnose 
# 系统信息:
1.  `uname -a`:

        Linux Karch_64 3.17.6-1-ARCH #1 SMP PREEMPT Sun Dec 7 23:43:32 UTC 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.  桌面环境:

    桌面环境为 `lxde`。

# 环境:
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.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/knight

    2.  `${XDG_CONFIG_HOME}`:

        环境变量 `XDG_CONFIG_HOME` 是设定为 `/home/knight/.config` 。

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

    3.  Fcitx 设置目录:

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

5.  当前用户:

    脚本作为 knight (1000) 运行。

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

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

2.  版本:

    Fcitx 版本: `4.2.8.5`

3.  进程:

    找到了 2 个 fcitx 进程:

          429 fcitx
          443 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 没有设置**

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

2.  根窗口上的 XIM_SERVERS:

    **`xprop` 未找到.**

## Qt:
1.  qt4 - `${QT4_IM_MODULE}`:

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

2.  qt5 - `${QT_IM_MODULE}`:

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

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" 或者将 `export GTK_IM_MODULE=fcitx` 添加到您的 `~/.xprofile` 中. 参见 [输入法相关的环境变量: GTK_IM_MODULE](http://fcitx-im.org/wiki/Input_method_related_environment_variables/zh-cn#GTK_IM_MODULE).**

2.  `gtk-query-immodules`:

    1.  gtk 2:

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

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

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

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

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

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

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

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

        已找到 gtk `3.14.5` 的 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

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

        fcitx-keyboard-us
        wubi
        wubi-large
        wbpy
        pinyin

2.  默认输入法:

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

# 日志:
1.  `date`:

        2014年 12月 18日 星期四 10:12:49 CST

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

        总用量 0

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

    `~/.config/fcitx/log/crash.log` 未找到.
[knight@Karch_64 ~]$ 

离线

#12 2014-12-18 11:21:06

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

Re: [已解决]中文输入法不可用

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

    **XMODIFIERS 没有设置**

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

2.  根窗口上的 XIM_SERVERS:

    **`xprop` 未找到.**

## Qt:
1.  qt4 - `${QT4_IM_MODULE}`:

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

2.  qt5 - `${QT_IM_MODULE}`:

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

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" 或者将 `export GTK_IM_MODULE=fcitx` 添加到您的 `~/.xprofile` 中. 参见 [输入法相关的环境变量: GTK_IM_MODULE](http://fcitx-im.org/wiki/Input_method_related_environment_variables/zh-cn#GTK_IM_MODULE).**

问题很明确了。

你要在启动你的桌面环境前设置那些环境变量。设置在哪个文件里取决于你的桌面环境及登录方式。

UNIX 传统里,如果一个配置文件不存在,你自己建立就可以了。

fcitx 的配置被注释掉是因为那是默认值。

离线

#13 2014-12-18 11:55:18

knight
会员
注册时间: 2014-11-07
帖子: 84

Re: [已解决]中文输入法不可用

百合仙子 说:

UNIX 传统里,如果一个配置文件不存在,你自己建立就可以了。

fcitx 的配置被注释掉是因为那是默认值。


没有格式要求吗?
比如

#!/bin/bash
or
[program]

之类的?

最近编辑记录 knight (2014-12-18 11:55:43)

离线

#14 2014-12-18 13:07:13

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

Re: [已解决]中文输入法不可用

有格式要求的,得看是什么文件。

离线

#15 2014-12-18 21:01:36

knight
会员
注册时间: 2014-11-07
帖子: 84

Re: [已解决]中文输入法不可用

百合仙子 说:

有格式要求的,得看是什么文件。

找到一个之前安装的发行版的.xprofile,里面是几个if和一行export,看不太明白。
我只留了文件头然后加上fcitx相关的几行export行吗?
在挂机下载LFS7.6的源码包,估计顺利的话要下到明天中午,没法重启测试。
神仙姐姐你先看看能不能行。

#
# ~/.xprofile
#
#

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

离线

页脚