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 退出即可。

配置环境变量

在此提供两种可选方式:

  1. 将matlab的bin目录加入PATH变量中:

    export PATH="/opt/matlab2023a/bin:$PATH"
  2. 直接为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用户,稍微折腾了一些:

  1. 首先安装X11客户端XQuartz:

    brew install xquartz --cask
  2. 在程序坞中搜索Xquartz,并开启。

  3. 配置DISPLAY环境变量:

    echo "export DISPLAY=:0" >> ~/.zshrc
  4. 重启终端,进行X11转发的ssh登陆:

    ssh -Y xxx@xxxxx
  5. 检测是否开启X11

    xclock

    若在XQuartz中打开了显示时钟的窗口,即说明配置成功。

手动激活

前往Matlab目录,并执行激活脚本:

cd /opt/matlab2023a/bin
./activate_matlab.sh
#更多激活命令和方式可以参考 ./activate_matlab.sh -h 

Xquartz中会打开Matlab的激活窗口,在该窗口中选择离线激活方式,并载入激活文件即可。

工作参考


Matlab 命令行安装
http://example.com/posts/e077a574/
发布于
2024年3月12日
许可协议