MMA 14.3 fcitx中文输入

使用之前 13.3 编译出的 .so 文件不行,一输入就会到程序崩溃,于是只能重新编译。按之前 13.3 的方法(见 https://www.jianshu.com/p/5b32d7c2df7c),结果还是遇到了一些问题,记录一下。

1. 查看 Wolfram 14.3 用的 QT 版本

安装目录下有两个 libQt6Core.so.6 文件,运行它们得到的版本是不一样的,第一个给出 6.8.2, 第二个给出 6.5.1。
Wolfram/14.3/SystemFiles/Components/WSMCore/SystemModeler/SystemFiles/Libraries/Linux-x86-64/libQt6Core.so.6
Wolfram/14.3/SystemFiles/Libraries/Linux-x86-64/Qt/lib/libQt6Core.so.6
其实之前的 13.3 版也是两个,分别对应 6.4.2 和 6.2.4。这回一开始是按 6.8.3 编译的(之所以没有使用 6.8.2 是因为 6.8.x 默认显示最新的,需要选择 Archive 才会显示老版本,最初图省事就没有选),结果最终不管用。后来按 6.5.1 版本编译的才行。6.5.1 也不是 6.5.x 的最新的,这回没图省事。

2. 下载清华提供的在线安装器

https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/online_installers/qt-unified-linux-x64-online.run

3. 配置镜像地址运行安装器

# 清华源
./qt-unified-linux-x64-online.run --mirror https://mirrors.tuna.tsinghua.edu.cn/qt
# 阿里源
./qt-unified-linux-x64-online.run --mirror https://mirrors.aliyun.com/qt
# 南大源
./qt-unified-linux-x64-online.run --mirror http://mirrors.nju.edu.cn/qt/

最开始用的是清华源,结果安装时总是提示下载错误

无法下载存档 https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/all_os/qt/qt6_683_unix_line_endings_src/qt.qt6.683.src/6.8.3-0-202503201334qtdoc-everywhere-src-6.8.3.tar.xz:Error transferring https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/all_os/qt/qt6_683_unix_line_endings_src/qt.qt6.683.src/6.8.3-0-202503201334qtdoc-everywhere-src-6.8.3.tar.xz.sha1 - server replied: Forbidden

奇怪的是上述文件直接用网页可以下载,用 wget 也可以,但就是无法用安装器下载。后来尝试改用阿里源就没问题了。安装时不需要安装所有,只需安装 Desktop、 Additional Libraries 即可(6.5.1我也安装了 Qt 5兼容模块,不知是否必要)

4. 编译 fcitx5 的 qt6 插件

首先安装相关依赖(以前装过了,这回就不用了)

sudo apt install libgl-dev extra-cmake-modules libxkbcommon-dev qtbase5-private-dev

https://github.com/fcitx/fcitx-qt5 下载源码包 fcitx-qt5-master.zip 并解压,然后进入 fcitx-qt5-master 目录:

#这里qt版本看你自己安装的是什么版本
export PATH=~/Qt/6.5.1/gcc_64/bin/:~/Qt/Tools/CMake/bin/:$PATH
vi CMakeLists.txt
#修改以下两行
option(ENABLE_QT5 "Enable Qt5" Off)
option(ENABLE_QT6 "Enable Qt6 im module" On)

mkdir build && cd build
cmake -DENABLE_LIBRARY=false ../
#cpu是几线程,j后面就写几
make -j16

正常编译完成后把 qt6/platforminputcontext/libfcitxplatforminputcontextplugin-qt6.so 复制到 .../14.3/SystemFiles/Libraries/Linux-x86-64/Qt/plugins/platforminputcontexts/ 目录下即可。

注: 不知从哪个版本开始,Mathematica 直接叫 Wolfram 了,图形界面的命令行启动命令也成了 wolframnb。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容