修复Linux环境下Mathematica中文输入问题(fcitx)
修复Linux环境下Mathematica中文输入问题(fcitx)

修复Linux环境下Mathematica中文输入问题(fcitx)

出现的问题

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

下载链接:https://download.qt.io/

由于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中使用中文输入法。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据