页次: 1
×××这个问题最后的结果是:我把fcitx-diagnose报错的变量信息直接复制过来,粘贴在.xprofile,保存后是有效的。但是自己手打的保存就无效。不知道自己哪里拼写不对,但是反复核对过没发现拼写错误。×××
已经新建.xprofile并设置:
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
现在是能随系统启动,可以设置,可以添加和删除输入法,但是不能切换输入法输入中文。
以下是运行fcitx-diagnose的结果:
# 系统信息:
1. `uname -a`:
Linux T430 4.7.2-1-ARCH #1 SMP PREEMPT Sat Aug 20 23:02:56 CEST 2016 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. 桌面环境:
桌面环境为 `kde`。
6. Bash Version:
BASH_VERSION='4.3.46(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+inet(evdev)" };
xkb_geometry { include "pc(pc105)" };
};
2. `xprop`:
_XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us", "", ""
3. Locale:
1. 全部可用 locale:
C
en_US.utf8
POSIX
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
zh_HK
zh_HK.big5hkscs
zh_HK.utf8
zh_TW
zh_TW.big5
zh_TW.euctw
zh_TW.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/lulu
2. `${XDG_CONFIG_HOME}`:
环境变量 `XDG_CONFIG_HOME` 没有设定。
`XDG_CONFIG_HOME` 的当前值是 `~/.config` (`/home/lulu/.config`)。
3. Fcitx 设置目录:
当前 fcitx 设置目录是 `~/.config/fcitx` (`/home/lulu/.config/fcitx`)。
5. 当前用户:
脚本作为 lulu (1000) 运行。
# Fcitx 状态:
1. 可执行文件:
在 `/usr/bin/fcitx` 找到了 fcitx.
2. 版本:
Fcitx 版本: `4.2.9.1`
3. 进程:
找到了 2 个 fcitx 进程:
570 fcitx
579 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_r … XMODIFIERS).**
从环境变量中获取的 Xim 服务名称为 fcitx.
2. 根窗口上的 XIM_SERVERS:
Xim 服务的名称与环境变量中设置的相同.
## 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_r … _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_r … _IM_MODULE).**
3. Qt 输入法模块文件:
找到了 fcitx 的 qt 模块: `/usr/lib/fcitx/qt/libfcitx-quickphrase-editor.so`.
找到了 Qt5 的输入法模块: `/usr/lib/qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so`.
找到了 Qt4 的输入法模块: `/usr/lib/qt4/plugins/inputmethods/qtim-fcitx.so`.
## 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_r … _IM_MODULE).**
2. `gtk-query-immodules`:
1. gtk 2:
在 `/usr/bin/gtk-query-immodules-2.0` 找到了 gtk `2.24.31` 的 `gtk-query-immodules`.
版本行:
# Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.31
已找到 gtk `2.24.31` 的 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.20.9` 的 `gtk-query-immodules`.
版本行:
# Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.20.9
已找到 gtk `3.20.9` 的 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.31` 的输入法模块缓存.
版本行:
# Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.31
已找到 gtk `2.24.31` 的 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.20.9` 的输入法模块缓存.
版本行:
# Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.20.9
已找到 gtk `3.20.9` 的 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. 找到了 2 个启用的输入法:
fcitx-keyboard-us
wbpy
2. 默认输入法:
您已经正确的将一个键盘输入法 "fcitx-keyboard-us" 设为默认.
# 日志:
1. `date`:
2016年 09月 13日 星期二 11:26:55 CST
2. `~/.config/fcitx/log/`:
总用量 0
3. `~/.config/fcitx/log/crash.log`:
`~/.config/fcitx/log/crash.log` 未找到.
最近编辑记录 沉沦的菩提 (2016-09-19 12:20:13)
离线
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
没设置成功啊。你 echo 一下看看?
离线
export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS="@im=fcitx"
没设置成功啊。你 echo 一下看看?
可是问题出在哪里呢。我装过好多次,有时可以,有时不行,而我的安装顺序和方法几乎没有变化。所有的都照做了。
离线
export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS="@im=fcitx"
没设置成功啊。你 echo 一下看看?
经常一翻折腾,我也不明白哪里起作用了,反正就是WIKI里和论坛里各种说的设置一翻折腾,现在是浏览器和libreoffice这样的界面里能用了。但是shell里还是不行。
离线
现在的方案应该是如下设置:
# ~/.xprofile
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
设置环境变量的方法应该早就无效了。参见早前的帖子: Gnome-terminal下无法使用Fcitx输入法
离线
现在的方案应该是如下设置:
# ~/.xprofile gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
设置环境变量的方法应该早就无效了。参见早前的帖子: Gnome-terminal下无法使用Fcitx输入法
这说法不同意,我宁愿从自己哪里做的不对这个方向去找原因。设置环境变量是随桌面启动,或者随X服务启动,这已经是最基本的了。
离线
vanitas 说:现在的方案应该是如下设置:
# ~/.xprofile gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
设置环境变量的方法应该早就无效了。参见早前的帖子: Gnome-terminal下无法使用Fcitx输入法
这说法不同意,我宁愿从自己哪里做的不对这个方向去找原因。设置环境变量是随桌面启动,或者随X服务启动,这已经是最基本的了。
如果你使用的是 gnome-terminal,那么他说的是对的。
你应当明确说明你是什么软件中不能输入。shell 不是图形界面程序,和输入法无关。它是接收终端模拟器发给它的字符的。所以你用的终端模拟器是 GNOME 系的吗?
离线
沉沦的菩提 说:vanitas 说:现在的方案应该是如下设置:
# ~/.xprofile gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
设置环境变量的方法应该早就无效了。参见早前的帖子: Gnome-terminal下无法使用Fcitx输入法
这说法不同意,我宁愿从自己哪里做的不对这个方向去找原因。设置环境变量是随桌面启动,或者随X服务启动,这已经是最基本的了。
如果你使用的是 gnome-terminal,那么他说的是对的。
你应当明确说明你是什么软件中不能输入。shell 不是图形界面程序,和输入法无关。它是接收终端模拟器发给它的字符的。所以你用的终端模拟器是 GNOME 系的吗?
不是,我用的yakuake,因为新手,所以想尽量避免出问题,尽量用wiki里首选推荐的软件。
离线
现在的方案应该是如下设置:
# ~/.xprofile gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
设置环境变量的方法应该早就无效了。参见早前的帖子: Gnome-terminal下无法使用Fcitx输入法
先感谢,今天升级 Gnome 然后挂了,修复后输入法却无法输入中文。键入这条命令后正常使用。
可是请问一下这条命令为什么会打开 Show Application Menu 啊,强迫症表示有点受不了,如果在 Tweak 里面关掉的话输入法也会无法使用。
离线
vanitas 说:现在的方案应该是如下设置:
# ~/.xprofile gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
设置环境变量的方法应该早就无效了。参见早前的帖子: Gnome-terminal下无法使用Fcitx输入法
先感谢,今天升级 Gnome 然后挂了,修复后输入法却无法输入中文。键入这条命令后正常使用。
可是请问一下这条命令为什么会打开 Show Application Menu 啊,强迫症表示有点受不了,如果在 Tweak 里面关掉的话输入法也会无法使用。
我昨天也遇到了输入法问题(无法切换到搜狗输入法),但似乎是因为 Gnome 3.22 默认改用了 Wayland,而 fcitx 或 fcitx-sogoupinyin 对 wayland 支持尚不完善。登录时选择 "Gnome on Xorg" 即恢复正常。我已在 AUR 页面说明。
至于 Show Application Menu 的问题,是因为该选项的状态也保存在 org.gnome.settings-daemon.plugins.xsettings.overrides,且默认是启用的。
那条命令重置了该键的值,导致 Show Application Menu 的配置丢失了,因此变成了默认的启用状态;
Tweak 中修改 Show Application Menu 状态时 Tweak 又重置了该键的值,导致 fcitx 的配置丢失了,因此输入法就挂了。这应该算是 Tweak 的 bug,不该重置,而应保留原来的值。可考虑向 Tweak 提交 bug。
执行那条命令,然后在 Tweak 中修改该选项,每次操作后都执行一下 gsettings get org.gnome.settings-daemon.plugins.xsettings overrides 你就能发现问题了。
作为一个临时方案,你可以使用 gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>,'Gtk/ShellShowsAppMenu': <0>}" 替换原命令。
另外,/usr/share/glib-2.0/schemas/50_sogoupinyin.gschema.override 中也设置了该键的值,这里的配置只在安装后执行一次还是每次开机后都执行,我不知道。得考虑到。
离线
Anteiku 说:vanitas 说:现在的方案应该是如下设置:
# ~/.xprofile gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
设置环境变量的方法应该早就无效了。参见早前的帖子: Gnome-terminal下无法使用Fcitx输入法
先感谢,今天升级 Gnome 然后挂了,修复后输入法却无法输入中文。键入这条命令后正常使用。
可是请问一下这条命令为什么会打开 Show Application Menu 啊,强迫症表示有点受不了,如果在 Tweak 里面关掉的话输入法也会无法使用。我昨天也遇到了输入法问题(无法切换到搜狗输入法),但似乎是因为 Gnome 3.22 默认改用了 Wayland,而 fcitx 或 fcitx-sogoupinyin 对 wayland 支持尚不完善。登录时选择 "Gnome on Xorg" 即恢复正常。我已在 AUR 页面说明。
至于 Show Application Menu 的问题,是因为该选项的状态也保存在 org.gnome.settings-daemon.plugins.xsettings.overrides,且默认是启用的。
那条命令重置了该键的值,导致 Show Application Menu 的配置丢失了,因此变成了默认的启用状态;
Tweak 中修改 Show Application Menu 状态时 Tweak 又重置了该键的值,导致 fcitx 的配置丢失了,因此输入法就挂了。这应该算是 Tweak 的 bug,不该重置,而应保留原来的值。可考虑向 Tweak 提交 bug。执行那条命令,然后在 Tweak 中修改该选项,每次操作后都执行一下 gsettings get org.gnome.settings-daemon.plugins.xsettings overrides 你就能发现问题了。
作为一个临时方案,你可以使用 gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>,'Gtk/ShellShowsAppMenu': <0>}" 替换原命令。
另外,/usr/share/glib-2.0/schemas/50_sogoupinyin.gschema.override 中也设置了该键的值,这里的配置只在安装后执行一次还是每次开机后都执行,我不知道。得考虑到。
感谢回复,已经明白了。
离线
Anteiku 说:vanitas 说:现在的方案应该是如下设置:
# ~/.xprofile gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
设置环境变量的方法应该早就无效了。参见早前的帖子: Gnome-terminal下无法使用Fcitx输入法
先感谢,今天升级 Gnome 然后挂了,修复后输入法却无法输入中文。键入这条命令后正常使用。
可是请问一下这条命令为什么会打开 Show Application Menu 啊,强迫症表示有点受不了,如果在 Tweak 里面关掉的话输入法也会无法使用。我昨天也遇到了输入法问题(无法切换到搜狗输入法),但似乎是因为 Gnome 3.22 默认改用了 Wayland,而 fcitx 或 fcitx-sogoupinyin 对 wayland 支持尚不完善。登录时选择 "Gnome on Xorg" 即恢复正常。我已在 AUR 页面说明。
至于 Show Application Menu 的问题,是因为该选项的状态也保存在 org.gnome.settings-daemon.plugins.xsettings.overrides,且默认是启用的。
那条命令重置了该键的值,导致 Show Application Menu 的配置丢失了,因此变成了默认的启用状态;
Tweak 中修改 Show Application Menu 状态时 Tweak 又重置了该键的值,导致 fcitx 的配置丢失了,因此输入法就挂了。这应该算是 Tweak 的 bug,不该重置,而应保留原来的值。可考虑向 Tweak 提交 bug。执行那条命令,然后在 Tweak 中修改该选项,每次操作后都执行一下 gsettings get org.gnome.settings-daemon.plugins.xsettings overrides 你就能发现问题了。
作为一个临时方案,你可以使用 gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>,'Gtk/ShellShowsAppMenu': <0>}" 替换原命令。
另外,/usr/share/glib-2.0/schemas/50_sogoupinyin.gschema.override 中也设置了该键的值,这里的配置只在安装后执行一次还是每次开机后都执行,我不知道。得考虑到。
谢谢 终于知道为什么滚了之后不能用输入法了
离线
可以看看 `.pam_environment`
离线
新电脑安装wayland+gnome之后fcitx无法使用,按照wiki设置好/etc/environment之后可以在gtk应用中输入中文,但是在electron应用中还是无法输入,比如vscode, insomnia,按照帖子里的教程执行 gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}" 后输入问题完全解决,感谢大神们
离线
新电脑安装wayland+gnome之后fcitx无法使用,按照wiki设置好/etc/environment之后可以在gtk应用中输入中文,但是在electron应用中还是无法输入,比如vscode, insomnia,按照帖子里的教程执行 gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}" 后输入问题完全解决,感谢大神们
离线
页次: 1