KeePassXC 的 appimage 不能使用输入法

@garywill

libfcitxplatforminputcontextplugin.so 即使在 KeePassXC-2.5.3-x86_64.AppImage 里(何况现在没在),也要看 Qt 版本的。

你的 .so 文件必须是使用跟 KeePassXC-2.5.3-x86_64.AppImage 里的 Qt5 一样小版本的 Qt5 编译出来的,否则没用。这个 @csslayer 很早的博客里有讲。

./KeePassXC-2.5.3-x86_64.AppImage -appimage-extract
cd squashfs-root/usr/lib
strings libQt5Core.so.5 | grep "5\."

得到的结果是 5.12.6。

而:

cd /usr/lib64/qt5/plugins/platforminputcontexts
strings libfcitx5platforminputcontextplugin.so | grep “5.”

得到的结果是 5.13。(注意我这个 .so 文件是 fcitx5-qt5 的,也就是说你不但需要 fcitx-qt5 的还需要这个,不然你升级 fcitx 到 fcitx5 的话还是用不了)

我看了你在那个 issue 的 reply,你的是 libQt5Core5 5.6.2。你需要一个 Qt 5.12.6 环境下搞出来的 libfcitxplatforminputcontextplugin.so。

再换句话说, 你需要找到上游编译 AppImage 的那个 Ubuntu 版本(ubuntu:16.04)对应的 fcitx-qt5 的 deb 包。https://packages.ubuntu.com/xenial/fcitx-frontend-qt5 去下那个 amd64 的包,然后 ar -x 解压,去提取那里面的 .so。