您尚未登录。

#1 2018-09-06 00:16:28

merci0318
会员
注册时间: 2018-09-06
帖子: 2

Help,在chromium内不能激活fcitx输入法

在firefox,electronic wechat下都能正常使用,在sublime,chromium里则无法激活fcitx里的sogou pinyin,不知道我的表述是否正确,贴一下diagnose

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

        Linux merci-GE60-2PE 4.15.0-33-generic #36-Ubuntu SMP Wed Aug 15 16:00:05 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

2.  `lsb_release -a`:

        No LSB modules are available.
        Distributor ID:	Ubuntu
        Description:	Ubuntu 18.04.1 LTS
        Release:	18.04
        Codename:	bionic

3.  `lsb_release -d`:

        Description:	Ubuntu 18.04.1 LTS

4.  `/etc/lsb-release`:

        DISTRIB_ID=Ubuntu
        DISTRIB_RELEASE=18.04
        DISTRIB_CODENAME=bionic
        DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"

5.  `/etc/os-release`:

        NAME="Ubuntu"
        VERSION="18.04.1 LTS (Bionic Beaver)"
        ID=ubuntu
        ID_LIKE=debian
        PRETTY_NAME="Ubuntu 18.04.1 LTS"
        VERSION_ID="18.04"
        HOME_URL="https://www.ubuntu.com/"
        SUPPORT_URL="https://help.ubuntu.com/"
        BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
        PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
        VERSION_CODENAME=bionic
        UBUNTU_CODENAME=bionic

6.  桌面环境:

    桌面环境为 `gnome3`。

7.  Bash 版本:

        BASH_VERSION='4.4.19(1)-release'

# 环境:
1.  DISPLAY:

        DISPLAY=':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+us:2+inet(evdev)"	};
            	xkb_geometry  { include "pc(pc105)"	};
            };

    2.  `xprop`:

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

3.  Locale:

    1.  全部可用 locale:

            C
            C.UTF-8
            en_AG
            en_AG.utf8
            en_AU.utf8
            en_BW.utf8
            en_CA.utf8
            en_DK.utf8
            en_GB.utf8
            en_HK.utf8
            en_IE.utf8
            en_IL
            en_IL.utf8
            en_IN
            en_IN.utf8
            en_NG
            en_NG.utf8
            en_NZ.utf8
            en_PH.utf8
            en_SG.utf8
            en_US.utf8
            en_ZA.utf8
            en_ZM
            en_ZM.utf8
            en_ZW.utf8
            POSIX
            zh_CN.utf8
            zh_SG.utf8

    2.  当前 locale:

            LANG=zh_CN.UTF-8
            LANGUAGE=zh_CN:zh:en_US:en
            LC_CTYPE="zh_CN.UTF-8"
            LC_NUMERIC=zh_SG.UTF-8
            LC_TIME=zh_SG.UTF-8
            LC_COLLATE="zh_CN.UTF-8"
            LC_MONETARY=zh_SG.UTF-8
            LC_MESSAGES="zh_CN.UTF-8"
            LC_PAPER=zh_SG.UTF-8
            LC_NAME=zh_SG.UTF-8
            LC_ADDRESS=zh_SG.UTF-8
            LC_TELEPHONE=zh_SG.UTF-8
            LC_MEASUREMENT=zh_SG.UTF-8
            LC_IDENTIFICATION=zh_SG.UTF-8
            LC_ALL=

4.  目录:

    1.  主目录:

            /home/merci

    2.  `${XDG_CONFIG_HOME}`:

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

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

    3.  Fcitx 设置目录:

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

5.  当前用户:

    脚本作为 merci (1000) 运行。

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

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

2.  版本:

    Fcitx 版本: `4.2.9.6`

3.  进程:

    找到了 2 个 fcitx 进程:

         1527 fcitx
         1545 fcitx-dbus-watc

4.  `fcitx-remote`:

    `fcitx-remote` 工作正常.

5.  DBus 界面:

    使用 `dbus-send` 来检查 dbus。

    DBus 名称 `org.fcitx.Fcitx` 的所有者是 `:1.7`。

    DBus 名称 `org.fcitx.Fcitx` 的 PID 所有者是 `1527`。

# Fcitx 配置界面:
1.  配置工具封装:

    在 `/usr/bin/fcitx-configtool` 找到了 fcitx-configtool。

2.  用于 GTK+-2.0 的配置界面:

    在 `/usr/bin/fcitx-config-gtk` 找到了 `fcitx-config-gtk`。

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

    环境变量 QT4_IM_MODULE 已经正确地设为了 "fcitx".

2.  qt5 - `${QT_IM_MODULE}`:

    环境变量 QT_IM_MODULE 已经正确地设为了 "fcitx".

3.  Qt 输入法模块文件:

    找到了 Qt5 的输入法模块: `/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so`.
    找到了 Qt4 的输入法模块: `/usr/lib/x86_64-linux-gnu/qt4/plugins/inputmethods/qtim-fcitx.so`.

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

    环境变量 GTK_IM_MODULE 已经正确地设为了 "fcitx".

2.  `gtk-query-immodules`:

    1.  gtk 2:

        **无法找到 gtk 2 的 `gtk-query-immodules`.**

        **无法找到 gtk 2 的 fcitx 输入法模块.**

    2.  gtk 3:

        **无法找到 gtk 3 的 `gtk-query-immodules`.**

        **无法找到 gtk 3 的 fcitx 输入法模块.**

3.  Gtk 输入法模块缓存:

    1.  gtk 2:

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

            # Created by /usr/lib/x86_64-linux-gnu/libgtk2.0-0/gtk-query-immodules-2.0 from gtk+-2.24.32

        已找到 gtk `2.24.32` 的 fcitx 输入法模块.

            "/usr/lib/x86_64-linux-gnu/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/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules.cache` 找到了 gtk `3.22.30` 的输入法模块缓存.
        版本行:

            # Created by /usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0 from gtk+-3.22.30

        已找到 gtk `3.22.30` 的 fcitx 输入法模块.

            "/usr/lib/x86_64-linux-gnu/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.  找到了 29 个已启用的插件:

            fcitx-autoeng
            fcitx-autoeng-ng
            fcitx-chttrans
            fcitx-classic-ui
            fcitx-clipboard
            fcitx-dbus
            fcitx-freedesktop-notify
            fcitx-fullwidth-char
            fcitx-fullwidth-char-enhance
            fcitx-imselector
            fcitx-ipc
            fcitx-ipcportal
            fcitx-keyboard
            fcitx-kimpanel-ui
            fcitx-lua
            fcitx-notificationitem
            fcitx-punc
            fcitx-punc-ng
            fcitx-quickphrase
            fcitx-remote
            fcitx-sogoucloudpinyin
            fcitx-sogoupinyin
            fcitx-spell
            fcitx-unicode
            fcitx-vk
            fcitx-x11
            fcitx-xim
            fcitx-xkb
            fcitx-xkbdbus

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

3.  插件库:

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

4.  用户界面:

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

        fcitx-classic-ui
        fcitx-kimpanel-ui

    Kimpanel 进程:

         1964 sogou-qimpanel

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

        fcitx-keyboard-us
        sogoupinyin

2.  默认输入法:

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

# 日志:
1.  `date`:

        四 九月  6 00:11:12 +08 2018

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

        总用量 4
        -rw-r--r-- 1 merci merci 1101 九月  5 23:57 crash.log

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

        =========================
        FCITX 4.2.9.6 -- Get Signal No.: 6
        Date: try "date -d @1536163071" if you are using GNU date ***
        ProcessID: 1555
        /usr/bin/fcitx(+0x1627)[0x5634a301c627]
        /lib/x86_64-linux-gnu/libc.so.6(+0x3ef20)[0x7f76d7186f20]
        /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7f76d7186e97]
        /lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7f76d7188801]
        /lib/x86_64-linux-gnu/libc.so.6(+0x89897)[0x7f76d71d1897]
        /lib/x86_64-linux-gnu/libc.so.6(+0x134cff)[0x7f76d727ccff]
        /lib/x86_64-linux-gnu/libc.so.6(+0x134d21)[0x7f76d727cd21]
        /lib/x86_64-linux-gnu/libc.so.6(+0x132a10)[0x7f76d727aa10]
        /lib/x86_64-linux-gnu/libc.so.6(+0x134c0a)[0x7f76d727cc0a]
        /usr/lib/x86_64-linux-gnu/fcitx/fcitx-dbus.so(+0x2343)[0x7f76d6159343]
        /usr/lib/x86_64-linux-gnu/fcitx/fcitx-dbus.so(+0x2511)[0x7f76d6159511]
        /usr/lib/x86_64-linux-gnu/libfcitx-core.so.0(+0x8acc)[0x7f76d7b8cacc]
        /usr/lib/x86_64-linux-gnu/libfcitx-core.so.0(FcitxInstanceRun+0x330)[0x7f76d7b8d560]
        /usr/bin/fcitx(+0xf6c)[0x5634a301bf6c]
        /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7f76d7169b97]
        /usr/bin/fcitx(+0xfea)[0x5634a301bfea]

离线

#2 2018-09-06 19:49:09

依云
a.k.a. 百合仙子
所在地: 一个等待妹纸出现的地方
注册时间: 2011-08-21
帖子: 4,796
个人网站

Re: Help,在chromium内不能激活fcitx输入法

Ubuntu?转移中……

离线

#3 2018-09-06 23:59:22

merci0318
会员
注册时间: 2018-09-06
帖子: 2

Re: Help,在chromium内不能激活fcitx输入法

依云 说:

Ubuntu?转移中……

是滴,Ubuntu。
问题已解决,用到了论坛里别人的方法,
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
这个指令 虽然我不大理解这个指令的用处是什么..

最近编辑记录 merci0318 (2018-09-07 00:01:25)

离线

#4 2018-09-07 00:13:20

依云
a.k.a. 百合仙子
所在地: 一个等待妹纸出现的地方
注册时间: 2011-08-21
帖子: 4,796
个人网站

Re: Help,在chromium内不能激活fcitx输入法

merci0318 说:

gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
这个指令 虽然我不大理解这个指令的用处是什么..

我也不知道具体是在干什么,反正 GNOME 3 + fcitx 用户都要跑一下这个。你一开始说你是 GNOME 的话估计早有人提醒了。

离线

#5 2018-09-08 09:24:52

xtricman
喵了个咪
注册时间: 2012-12-26
帖子: 488

Re: Help,在chromium内不能激活fcitx输入法

Gnome的某项设置,在你的用户级注册表里(gsettings dconf后端存储)。至于为啥存在模块并设置环境变量依然需要这个注册表项才工作那就去问上游吧!

离线

页脚