MATLAB
For Arch Linux
安装mpm (Matlab package manager)
paru -S matlab-mpm使用mpm安装Matlab
mpm install --release=<release> --destination=~/matlab MATLAB <other products>若希望为设备上所有用户安装,则将目录修改为公共目录,例如:
sudo mpm install --release R2025b --products \ Simulink \ Stateflow \ Simulink_Control_Design \ Simulink_Compiler \ Simulink_Real-Time \ DSP_System_Toolbox \ Simscape \ Simscape_Electrical \ Simscape_Fluids \ Simscape_Multibody \ Fixed-Point_Designer \ --matlabroot /opt/MATLAB/R2025b/激活Matlab
如果
--release <= R2022b~/matlab/bin/activate_matlab.sh如果
--release >= R2023a~/matlab/bin/glnxa64/MathWorksProductAuthorizer.sh注意,当为所有用户安装时,应相应修改路径。可能需要sudo以提供权限,否则可能出现权限冲突的错误提示:Unable to install license. Please try again later.
sudo /opt/MATLAB/R2025b/bin/glnxa64/MathWorksProductAuthorizer.sh修复链接库 如果
--release >= R2023a,在运行MathWorksProductAuthorizer.sh时极大概率报segfault,是由于某个版本的gnutls更新导致的,运行以下命令使得matlab激活脚本使用老版的gnutls:wget https://archive.archlinux.org/packages/g/gnutls/gnutls-3.8.9-1-x86_64.pkg.tar.zst mkdir -p matlab/gnutls tar -xf gnutls-3.8.9-1-x86_64.pkg.tar.zst -C matlab/gnutls mkdir -p ~/matlab/bin/glnxa64/gnutls cp -a ~/matlab/gnutls/usr/lib/libgnutls* ~/matlab/bin/glnxa64/gnutls/ cd /home/user/matlab/bin/glnxa64/ ln -s gnutls/* ./为所有用户安装的命令相应修改为
wget https://archive.archlinux.org/packages/g/gnutls/gnutls-3.8.9-1-x86_64.pkg.tar.zst mkdir -p matlab/gnutls tar -xf gnutls-3.8.9-1-x86_64.pkg.tar.zst -C matlab/gnutls sudo mkdir -p /opt/MATLAB/R2025b/bin/glnxa64/gnutls sudo cp -a matlab/gnutls/usr/lib/libgnutls.* /opt/MATLAB/R2025b/bin/glnxa64/gnutls/ sudo ln -s gnutls/* ./之后应该可以回到上一步成功进行Matlab的激活。
sudo ./MathWorksProductAuthorizer.sh权限问题 直接运行会出现安全提示:You are currently running MATLAB as root。在 Linux 中,长期以 root 身份运行图形界面程序会有安全风险,且以后产生的代码文件权限也会变成 root,导致普通用户无法编辑。最后可以把MATLAB目录的所有权交还给普通用户 首先创建软连接:
sudo ln -s /opt/MATLAB/R2025b/bin/matlab /usr/local/bin/matlab(可选)修复中文输入法
由于 Arch 总是滚动更新到最新的 GCC 和 Qt,而 MATLAB 捆绑的库相对滞后,导致了 ABI 不兼容。通过强制使用系统 C++ 标准库可以暂时修复输入法。 *注意:如果下次 MATLAB 小版本更新(如 R2025b Update 1),这些操作可能需要重新执行,因为更新程序可能会还原这些库文件。
(1)进入 MATLAB 安装目录下的系统库路径,重命名其自带的库文件,迫使系统调用
/usr/lib/libstdc++.so.6。cd /opt/MATLAB/R2025b/sys/os/glnxa64/ sudo mv libstdc++.so.6 libstdc++.so.6.bak(2)将 MATLAB 自带的 Qt5 相关动态库移出搜索路径,强制使用与系统插件版本一致(或兼容)的 Qt 库。
cd /opt/MATLAB/R2025b/bin/glnxa64/ sudo mkdir qt_backup sudo mv libQt5* qt_backup/(3)在MATLAB插件目录下建立系统插件软连接,注入 fcitx5 输入法插件
sudo mkdir -p /opt/MATLAB/R2025b/bin/glnxa64/platforminputcontexts sudo ln -sf /usr/lib/qt/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so /opt/MATLAB/R2025b/bin/glnxa64/platforminputcontexts/(4)在启动脚本中加入环境配置
export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx