最新 Tumbleweed 里 fcitx 无法启动的修复办法

原因是 x11-tools 这个包更新了一下,原来使用 bash 脚本现在使用纯 sh 脚本,所以 fcitx 的启动脚本不认了。

修复办法是去这里:Show M17N / fcitx - openSUSE Build Service

下载那个 xim.d-fcitx 替换 /etc/X11/xim.d/fcitx 然后重新登录。

虽然启动了 fcitx, 但是仍然无法输入中文 :joy:

那就是你的问题了。

我已经按照女王大人说的替换了文件内容
现在情况是这样的:
我每次开机的时候,底部任务栏都没有小键盘的图标,只有手动启动 fcitx。这时小键盘图标是出现了,右键也有输入法设置。
问题来了,我在设置里能看到当前是中文输入法状态,但是却没有显示中文输入法的状态栏,也不能输入中文,快捷键切换也没有任何反应。

两个疑问:
1.fcitx 不是应该开机自启的吗?
2. 为什么启动了 fcitx 还是不能输入中文,切换输入法毫无反应?

  1. 没有小键盘图标就是没开机自启好吗?!

你运行下

/bin/sh /etc/X11/xim.d/fcitx

看看有没有什么报错。把输出贴给我。我的 openSUSE 一来不是最新,二来我可能提交错了 xim.d-fcitx 的版本

  1. 因为设置环境的脚本没运行。

(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-googlepinyin.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-sunpinyin.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-libpinyin.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-cloudpinyin.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-autoeng.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-chttrans.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-classic-ui.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-clipboard.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-dbus.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-freedesktop-notify.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-fullwidth-char.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-imselector.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-ipc.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-keyboard.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-kimpanel-ui.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-lua.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-notificationitem.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-pinyin-enhance.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-punc.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-quickphrase.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-remote-module.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-spell.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-unicode.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-vk.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-x11.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-xim.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-xkb.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-xkbdbus.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-table.conf
(INFO-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-pinyin.conf
qic@linux-wneg:~> (WARN-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/module/dbus/dbusstuff.c:246) DBus Service Already Exists
(ERROR-2108 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/instance.c:440) Exiting.
现在有一个新情况, 我的 ibus 也不能够输入中文, 不知道是否有关联 :joy:

  1. 把现有的 fcitx 退出再运行那个命令。
  2. xim.d 脚本问题影响所有输入法。

(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-googlepinyin.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-sunpinyin.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-libpinyin.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-cloudpinyin.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-autoeng.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-chttrans.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-classic-ui.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-clipboard.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-dbus.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-freedesktop-notify.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-fullwidth-char.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-imselector.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-ipc.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-keyboard.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-kimpanel-ui.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-lua.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-notificationitem.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-pinyin-enhance.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-punc.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-quickphrase.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-remote-module.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-spell.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-unicode.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-vk.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-x11.conf
qic@linux-wneg:~> (INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-xim.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-xkb.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-xkbdbus.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-table.conf
(INFO-2169 /home/abuild/rpmbuild/BUILD/fcitx-4.2.9/src/lib/fcitx/addon.c:151) 加载附加组件配置文件: fcitx-pinyin.conf
open /home/qic/.config/fcitx/libpinyin/data/user.conf failed.

qic@linux-wneg:~> cd /home/qic/.config/fcitx/libpinyin/data
qic@linux-wneg:~/.config/fcitx/libpinyin/data> ls -a
.  ..  .place_holder

rm -rf .config/fcitx

不行再用下这个 xim.d-fcitx

if !  -x /usr/bin/fcitx ] ; then
   echo "fcitx is not installed. please 'sudo zypper in fcitx'."
   return 1
fi

#make sure set these vars before dbus-launch
export LC_CTYPE=$LANG
export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE=fcitx
export GTK3_IM_MODULE=fcitx
export QT_IM_SWITCHER=imsw-multi
export QT_IM_MODULE=fcitx
export QT4_IM_MODULE=fcitx

# Avoid relying on autolaunch to improvise D-Bus sessions for each process
if  -z "$DBUS_SESSION_BUS_ADDRESS" ] ; then
   eval $(dbus-launch --sh-syntax --exit-with-session)
fi

fcitx -d

# success:
return 0

再不行就是你的问题了,我 M17N 里的和这个 xim.d-fcitx 都能正常启动 fcitx

看了下 8.11 的更新日志,

==== x11-tools ====

- Revert xim shebang back to /bin/bash; otherwise too many xim.d
  scripts got broken (boo#941052)
- fix a bashism in xim (boo#941052)

按道理这版应该就修复了这个问题了,今天早上起来滚动了一下,输入法确实已经好了

强烈建议ibus,与世界接轨

Sent from my iPhone using Tapatalk

ibus 默认的输入法 ibus-pinyin 一直没解决在 firefox 上选字变删字的 bug,libpinyin 字库又不全,在我不想怎么折腾的情况下不想用。

没遇到过,如果出问题,chrome

Sent from my iPhone using Tapatalk