KeePassXC 的 appimage 不能使用输入法

有人使用 KeePassXC 没?
这是 KeePass 的跨平台 fork 中我感觉不错的一款。

官方提供的 appimage 在 opensuse 上不能调用 fcitx(15.0 和 15.1 都试过)。
其他发布版好像没有问题,官方打包者似乎是用 ubuntu 打包的 appimage

有人提过类似的 issue,目前解决了别的发布版的问题,opensuse 依然不行

@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。

用 qt 版的吧,我现在在 opensusetw 下用的很好

安装 flatpak 版本就正常了。

那么这算是 bug 么?
是 qt,fcitx,appimage 谁的问题?

不算。非要说就是 AppImage 的问题。