出现的问题
Mathematica 13.0.1 在Manjaro Linux下无法使用中文输入法(fcitx).
解决方法
该方法适用于多个Mathematica版本与Linux版本。
(感谢csslayer提供的案例)
检查Mathematica使用的Qt版本
首先,找到Mathematica的安装位置,使用grep命令检查Qt5库版本:
$ [Mathematica安装位置]SystemFiles/Libraries/Linux-x86-64/Qt/lib/libQt5Core.so.5 | grep "Qt 5"
This is the QtCore library version Qt 5.11.0 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 6.3.1 20170216 (Red Hat 6.3.1-3))
可以看到Qt版本为5.11.0.
注意:如果你使用的是旧版Mathematica, 文件路径可能变化,只需要寻找到libQt5CoreXXX.so.5并运行该命令即可。
安装对应版本的Qt
由于Qt 5.11.0已经是旧版本,所以保存在new_archive/qt/5.10/5.10.0/中,更老的版本可以在archive/qt/中找到。
下载*.run文件即可。
下载完成后,对该文件提权并运行:
chmod +x qt-opensource-linux-x64-5.11.0.run
sudo ./qt-opensource-linux-x64-5.11.0.run
笔者在安装时选择了桌面与Scource.
编译fcitx-qt5
在进行接下来的操作前,请确保已经安装cmake, extra-cmake-modules (不同Linux发行版的安装命令不同,请自行Bing).
使用git命令下载fcitx, 进入该文件夹后,使用该命令构建(-DQt5_DIR为[Qt5的安装位置]/gcc_64/lib/cmake/Qt5):
cmake -DENABLE_LIBRARY=false -DQt5_DIR=/opt/Qt5.11.0/5.11.0/gcc_64/lib/cmake/Qt5
构建完成后显示如下:
再输入make
等待编译完成:
就可以在../fcitx/qt5/platforminputcontext/
复制到Mathematica目录中
cp libfcitxplatforminputcontextplugin.so [Mathematica安装目录]/SystemFiles/Libraries/Linux-x86-64/Qt/plugins/
至此,即可以在MMA中使用中文输入法。