Matlab 命令行安装
最近一些工作需要进行matlab编程,正好看到蜗科买了Matlab的正版:中国科学技术大学软件正版化 (ustc.edu.cn),直接选择了最新版的安装包,和小伙伴踩了一些坑在服务器上完成了安装。由于正版激活过程需要校园网络的支持,仅供学术参考,希望能帮到科u们。
安装准备
- 系统环境是Ubuntu20.04 LTS,其他Linux环境类似。
- Matlab版本是2023a 校园网络Licence验证。
- 挂载和安装过程需要sudo权限(也可选择在有权限的位置进行挂载安装,sudo/root非必需)。
下载文件
mkdir ~/matlab && cd ~/matlab
#下载对应系统的Matlab安装镜像
wget https://software.ustc.edu.cn/oldmatlab/2023a/R2023a_Linux.iso
#下载对应的安装密钥和激活文件
wget https://software.ustc.edu.cn/oldmatlab/2023a/2023a_activate.zip
挂载解压
#挂载镜像便于安装
sudo mount -o loop R2023a_Linux.iso /media/matlab_r2023a
#解压激活文件(含licence和key)
unzip 2023a_activate.zip
#复制key
cat R2023a_key.txt
配置及安装
生成配置文件
#切换到对应的挂载目录
cd /media/matlab_r2023a
#由于镜像内的文件只读 需要拷贝配置文件到其他位置修改
sudo cp installer_input.txt ~/matlab
#赋读写权限
chmod 666 ~/matlab/installer_input.txt
vim ~/matlab/installer_input.txt
修改配置文件
此处我们列出比较重要的配置项,解除注释并填充。
#安装位置
destinationFolder=/opt/matlab2023a
#填充密钥文件(下方打码)
fileInstallationKey=62497-26570-22266-00695-52907-_mask_-11199-28888-30124-00898-35588-34221
#同意许可
agreeToLicense=yes
#输出安装日志
outputFile=~/matlab/matlab_install.log
#配置激活证书
licensePath=~/matlab/2023a_activate/network.lic
执行安装
sudo ./install -inputFile ~/matlab/installer_input.txt
另起终端窗口,检测安装过程:
tail -f ~/matlab/matlab_install.log
可以看到输出:
.......
(Jul 12, 2023 14:19:38) 68%
(Jul 12, 2023 14:19:43) 69%
(Jul 12, 2023 14:19:45) 70%
(Jul 12, 2023 14:19:45) 71%
(Jul 12, 2023 14:19:47) 72%
.......
(Jul 12, 2023 14:21:53) 100%
(Jul 12, 2023 14:21:59) Starting Support Package Registration Service
(Jul 12, 2023 14:21:59) Completed Support Package Registration Service
(Jul 12, 2023 14:21:59) Starting OS Registration Service for MATLAB
(Jul 12, 2023 14:21:59) Generating Java class path for /opt/matlab2023a
(Jul 12, 2023 14:21:59) Successfully generated Java class path for /opt/matlab2023a
(Jul 12, 2023 14:21:59) Generating pathdef.m for /opt/matlab2023a
(Jul 12, 2023 14:22:00) Successfully generated pathdef.m for /opt/matlab2023a
(Jul 12, 2023 14:22:00) Calling Manifest cache executable
(Jul 12, 2023 14:22:02) Successfully called Manifest cache executable
(Jul 12, 2023 14:22:02) Completed OS Registration Service for MATLAB
(Jul 12, 2023 14:22:02) Starting OS Registration Service for MATLAB Compiler
(Jul 12, 2023 14:22:02) Completed OS Registration Service for MATLAB Compiler
(Jul 12, 2023 14:22:02) To accelerate computations with the following products, a <a HREF="http://www.mathworks.com/pi_scl_3_R2023a_glnxa64">supported compiler</a> is required:<br><br>Fixed-Point Designer<br>SimBiology<br><br>The following products require a <a href="http://www.mathworks.com/pi_scl_1_R2023a_glnxa64">supported compiler</a>:<br><br>Embedded Coder<br>MATLAB Coder<br>Simulink Coder<br>Simulink Test<br>Stateflow<br><br>MATLAB Compiler SDK requires the following: <br><br> ● a <a HREF="http://www.mathworks.com/pi_scl_5_R2023a_glnxa64">supported compiler</a> for creation of C and C++ Shared libraries<br> ● a <a HREF="http://www.mathworks.com/pi_scl_6_R2023a_glnxa64">Java JDK</a> for creation of Java packages<br><br>Simulink requires a C compiler for simulation acceleration, model reference, and MATLAB Function Block capabilities. It is recommended that you install a <a HREF="http://www.mathworks.com/pi_scl_2_R2023a_glnxa64">supported compiler</a> on your machine.<br><br>The following products require <a href="http://www.mathworks.com/pi_hws_mpi_R2023a_glnxa64">Hardware Setup</a> for third-party tools configuration:<br><br>C2000 Microcontroller Blockset<br><br>
(Jul 12, 2023 14:22:02) Exiting with status 0
(Jul 12, 2023 14:22:02) End - Successful
最终End - Successful
即表明安装成功。
测试及环境变量
安装测试
以命令行方式启动Matlab
/opt/matlab2023a/bin/matlab -nodesktop -nosplash
#或者/opt/matlab2023a/bin/matlab -nodisplay
出现下述即表明安装且激活成功,如果执行上述命令仍然触发Matlab的GUI界面加载,大部分情况是由于激活失败导致的,尝试GUI界面手动激活(参见下节)。
MATLAB is selecting SOFTWARE OPENGL rendering.
< M A T L A B (R) >
Copyright 1984-2023 The MathWorks, Inc.
R2023a (9.14.0.2206163) 64-bit (glnxa64)
February 22, 2023
To get started, type doc.
For product information, visit www.mathworks.com.
>>
在光标位置键入exit
退出即可。
配置环境变量
在此提供两种可选方式:
将matlab的bin目录加入PATH变量中:
export PATH="/opt/matlab2023a/bin:$PATH"
直接为matlab设置alias,并对gui和命令行模式加以区别:
笔者使用的是这种方式,简单粗暴,易于管理。
alias matlab_gui='/opt/matlab2023a/bin/matlab' alias matalb='/opt/matlab2023a/bin/matlab -nodisplay' alias mrun='/opt/matlab2023a/bin/matlab -nodisplay -r'
手动激活(含GUI)
支持X11转发的ssh访问
Linux用户显然地可以通过ssh -X
的方式进行X11转发的ssh访问。
Win用户如果懒得折腾,直接下载MobaXterm自带X11。
笔者是Mac用户,稍微折腾了一些:
首先安装X11客户端XQuartz:
brew install xquartz --cask
在程序坞中搜索Xquartz,并开启。
配置DISPLAY环境变量:
echo "export DISPLAY=:0" >> ~/.zshrc
重启终端,进行X11转发的ssh登陆:
ssh -Y xxx@xxxxx
检测是否开启X11
xclock
若在XQuartz中打开了显示时钟的窗口,即说明配置成功。
手动激活
前往Matlab目录,并执行激活脚本:
cd /opt/matlab2023a/bin
./activate_matlab.sh
#更多激活命令和方式可以参考 ./activate_matlab.sh -h
Xquartz中会打开Matlab的激活窗口,在该窗口中选择离线激活方式,并载入激活文件即可。
工作参考
Matlab 命令行安装
http://example.com/posts/e077a574/