申请云服务器,运行matlab程序
前言:
实验室的破电脑跑不了复杂matlab程序,由于项目赶集,尝试用云服务器加个速。主要参考了这篇文章,自己实践过程中,也遇到许多常见问题,处理方法仅供参考。
一、申请阿里云ECS
申请方法主要参考一下文章:
[阿里云服务器租用一个月教程、收费标准与活动价格参考-阿里云开发者社区]( https://developer.aliyun.com/article/1526770#:~:text=1、前往阿里云官网并登录阿里云账号, 如还未注册,建议先通过 阿里云试用中心 ,%E5%AE%8C%E6%88%90%E6%B3%A8%E5%86%8C%EF%BC%8C%EF%BC%88%E5%8F%AF%E5%85%8D%E8%B4%B9%E8%AF%95%E7%94%A81%E6%A0%B82G%E3%80%812%E6%A0%B84G%E3%80%814%E6%A0%B88G%E3%80%814%E6%A0%B816G%E7%AD%89%E9%85%8D%E7%BD%AE%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%89%20%E9%80%89%E6%8B%A9%E9%A1%B6%E7%AB%AF%E5%AF%BC%E8%88%AA%E8%8F%9C%E5%8D%95%E2%80%9C%E4%BA%A7%E5%93%81%E2%80%9D%EF%BC%8C%E5%9C%A8%E4%B8%8B%E6%8B%89%E8%8F%9C%E5%8D%95%E4%B8%AD%E7%82%B9%E5%87%BB%E2%80%9C%E5%BC%B9%E6%80%A7%E8%AE%A1%E7%AE%97%E2%80%9D%E4%B8%AD%E7%9A%84%E2%80%9C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8ECS%E2%80%9D%E3%80%82%202%E3%80%81%E8%BF%9B%E5%85%A5%E5%88%B0%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8ECS%E4%BA%A7%E5%93%81%E9%A1%B5%E5%90%8E%E7%82%B9%E5%87%BB%E3%80%90%E7%AB%8B%E5%8D%B3%E8%B4%AD%E4%B9%B0%E3%80%91%E6%8C%89%E9%92%AE%E3%80%82)
个人使用的比较便宜大约100出头,注意申请时需要保存一个.pem文件的密码,后面需要用,这里表示为secret.pem
二、下载linux版matlab和SSH工具
-
下载linux版matlab:https://pan.baidu.com/s/1ELNoRyuJ6SQaIreWuYHS5A?pwd=37l1
-
MobaXterm:
https://download.mobatek.net/2402024022512842/MobaXterm_Installer_v24.0.zip
阿里云其实自带连接手段,可能也可以传输文件。
三、SSH连接
-
进入MobaXterm
![image]()
-
点击左上角 session
![image]()
-
点击左上角 SSH
![image]()
remote host填写服务器公网IP; 选中specify, username linux下默认root ; port 为22;

这些内容如果不知道,可以在阿里云的服务器管理系统中查看。

- 在Advanced SSH settings 中,选中 use priate key 将上述 secret.pem文件添加进去。 点击OK

- 进入界面:

四、安装MATLAB
下载的MATLAB包含

这里matlab包含了两个ISO,需要多次挂载,步骤如下:
-
根目录下新建一个文件夹matlab
[root@iZ7xv60v17fn0mx988sv53Z ~]# mkdir matlab
在SSH软件左边的文件管理中,进入matlab文件夹,将文件拖拽进该栏目或点击绿色向上的箭头Upload,上传ISO到该目录下,出现上传进度条
![image]()
-
进入该文件夹并挂载dvd1
[root@iZ7xv60v17fn0mx988sv53Z ~]# cd matlab
[root@iZ7xv60v17fn0mx988sv53Z matlab]#sudo mount -t auto -o loop R2018a_glnxa64_dvd1.iso /mnt/iso
挂载命令可能出现问题,也可以尝试sudo mount-o loop R2018a_glnxa64_dvd1.iso /mnt/iso
报错找不到文件夹的,需要新建文件夹iso在/mnt里mkdir /mnt/iso -
下面需要解压crack.tar获取密钥
根目录下新建一个文件夹crack
[root@iZ7xv60v17fn0mx988sv53Z ~]# mkdir crack
[root@iZ7xv60v17fn0mx988sv53Z ~]# tar -xvf matlab/Matlab20XXaLinux64Crack.tar.gz -C crack -
在SSH软件左边的文件管理中,可以点开解压文件夹内的readme.txt,第一个出现的安装密钥是我们需要的,开始静态安装:
[root@iZ7xv60v17fn0mx988sv53Z ~]# cd /mnt
[root@iZ7xv60v17fn0mx988sv53Z mnt]# ./iso/install -mode silent -agreeToLicense yes -fileInstallationKey 09806-07443-53955-64350-21751-41297
第一挂载将开始安装,直到出现以下画面:
![image]()
-
需要弹出DVD1加载DVD2,此时不要把之前的关闭了,要保留。再开启一个新的SSH页面:
//弹出
[root@iZ7xv60v17fn0mx988sv53Z mnt]# umount iso
可以用ls查看iso内是否存在挂载。
//继续挂载
[root@iZ7xv60v17fn0mx988sv53Z mnt] sudo mount -t auto -o loop matlab/R2018a_glnxa64_dvd2.iso /mnt/iso
执行完成后,继续安装,直到安装完成:
![image]()
-
最后,删除挂载
![image]()
五、激活破解matlab和导入环境变量
- 激活,复制crack文件中license_standalone.lic到安装目录中
[root@iZ7xv60v17fn0mx988sv53Z ~]# sudo cp crack/license_standalone.lic /usr/local/MATLAB/R2018a/licenses
[root@iZ7xv60v17fn0mx988sv53Z ~]# sudo cp -r crack/R2018a /usr/local/MATLAB
- 破解 将libmwlmgrimpl.so文件复制到安装目录
[root@iZ7xv60v17fn0mx988sv53Z ~]# sudo cp crack/R2018a/bin/glnxa64/matlab_startup_plugins/lmgrimpl/libmwlmgrimpl.so /usr/local/MATLAB/R2018a/bin/glnxa64/matlab_startup_plugins/lmgrimpl/
- 创建软链接
[root@iZ7xv60v17fn0mx988sv53Z ~]# cd /usr/local/bin
[root@iZ7xv60v17fn0mx988sv53Z ~]# ln -s /usr/local/MATLAB/R2018a/bin/matlab matlab
- 导入环境变量
[root@iZ7xv60v17fn0mx988sv53Z ~]# export PATH=/usr/local/MATLAB/R2018a/bin:$PATH
检查一下:

- 运行,成功的结果如下:

可能遇到的错误:
(1)MATLAB is selecting SOFTWARE OPENGL rendering.
Fatal Internal Error: Unexpected exception: 'N5boost16exception_detail10clone_implINS0_39current_exception_std_exception_wrapperISt13runtime_errorEEEE: Bundle#1 start failed: libXt.so.6: cannot open shared object file: No such file or directory' in createMVMAndCallParser phase 'Creating local MVM'
需要下载libXt.so.6:

这里注意,apt和yum适用于不同的linux版本;检查下载:

(2)Error: Activation cannot proceed. You may either:
Set an X11 display, and restart the activation process
Use the silent activation feature
Activate using the license center
重新激活破解matlab。
六、执行matlab程序
-
cd到你存放.m文件的地方,执行:
run('main.m')
如:
![image]()
-
对于需要长时间运行的程序,使用screen 进行离线执行, 请在代码中编写save等命令存储结果。参考:
[SSH 远程连接中断程序运行终止解决方法]( https://blog.csdn.net/qq_43377749/article/details/90046577#:~:text=通过官方推荐的screen工具,可在服务端运行程序,并在断开连接后保持程序运行状态。 此外,还提供了在服务端和客户端配置SSH连接,以防止超时断开的详细步骤。 这里推荐三种解决方案,保证阿里云远程连接推出后,服务仍然不终止: 官方解决方案 根据官方解决方案,我们采用 screen 执行 的方法 ,screen%20%E5%B7%A5%E5%85%B7%EF%BC%9A%20%E5%85%B6%E6%AC%A1%EF%BC%8C%E5%90%AF%E5%8A%A8%20screen%20%E5%B7%A5%E5%85%B7%20%E7%84%B6%E5%90%8E%EF%BC%8C%E9%80%9A%E8%BF%87%20screen%20%E8%BF%90%E8%A1%8C%E8%B5%B7%E7%A8%8B%E5%BA%8F%EF%BC%9A)
screen的常见命令参考
新建screen
screen -S your_screen_name
进入screen
screen -r your_screen_name
在当前screen下,输入Ctrl+D,删除该screen
在当前screen下,输入先后Ctrl+A,Ctrl+D,退出该screen
Ctrl+A,Ctrl+D
显示screen list
screen -ls
连接状态为【Attached】的screen,-D -r 先踢掉前一用户,再登陆
screen -D -r your_screen_name
删除指定screen, your_screen_name为待删除的screen name
screen -S your_screen_name -X quit









浙公网安备 33010602011771号