远程服务器安装matlab:
第一步:下载matlab for Ubuntu
下载完成之后**不要急着上传到服务器**上,因为要破解MATLAB还需要更换其中的一个文件。先解压两个压缩包,然后压缩包crack中有一个README文件。
文档中说要将ISO(就是那个6个G的镜像文件)中的”install.jar”给替换掉,拿来替换的是和README文件同目录的install.jar文件。所以应该是在上传文件之前就替换掉这个install.jar文件。
替换方法:用UltraISO打开你下载的ISO文件(这里貌似只能用UltraISO打开,用“好压”之类的软件是无法对ISO中的文件进行修改的)。然后找到要替换的文件目录,如下图示:
然后你需要做的是把crack文件夹(就是你解压后的文件夹)中的install.jar直接给拖进去,直接覆盖。完成后,**不要直接关闭UltraISO,而是要点击文件选项下的保存**。否者上面的工作都白做了(另外UltraISO会自动帮你备份一个uibak格式的文件,没什么用,可以删掉),这个保存过程估计要几分钟。
第二步:把文件上传到linux服务器上。
服务器用的是Ubuntu 14.04。需要上传的是**ISO文件,crack文件夹,so文件**(就是libmwservices.zip解压后的那个so文件)。建议你新建一个目录去存放这三个文件,例如我的文件夹为MATLABforlinux。
第三步:挂载,然后安装。
(1)首先你需要把ISO文件挂载上去, 为防止出现权限不够的问题,建议使用root用户。文件挂载命令格式如下:
sudo mount -o loop R2014b_glnxa64.iso /matlab
其中iso那个是你的iso名字(不是当前目录的话,还要写出前面的路径ISO),/matlab是你要挂载的文件夹目录,建议你自己新建一个文件夹。
(2)接下来就是跳转到挂载目录: cd /matlab
(3)执行安装操作: sudo ./install
安装中间报错显示缺少库,安装库就行
弹出安装界面了,接下来和windows安装就一样了。
(4)你需要选择非Internet模式。 输入的秘钥是README中提供的那个秘钥。默认的安装目录是在/usr/local/MATLAB/R2014b,建议不要更改默认目录。安装到最后一个界面是问你要不要激活。 我选择的是不激活,然后用命令行启动MATLAB。
(5)启动命令:sudo /usr/local/MATLAB/R2014b/bin/matlab
启动之后会弹出激活,选择非联网激活,选择crack文件夹中的liscense.lic。最后激活完成。
网上的教程基本上到这就结束了,这才是第二个坑,还是个大坑啊。如果直接启动的话,会报“**License checkout failed.License Manager Error-8**”错误。
第四步:使用so文件进行真正的破解。
(1)把源文件的so文件挪开:
sudo mv /usr/local/MATLAB/R2014b/bin/glnxa64/libmwservices.so /usr/local/MATLAB/R2014b/bin/glnxa64/libmwservices.so.baksudo
(2)把crack文件下的so文件拷贝过来:
cp MATLABforlinux/MATLAB_R2014B_MAC_LINUX_crack/libmwservices.so /usr/local//MATLAB/R2014b/bin/glnxa64/
(3)执行破解命令:
sudo /usr/local/MATLAB/R2014b/bin/activate_matlab.sh -propertiesFile /usr/local/MATLAB/R2014b/etc/activate.ini
接下来会再次弹出激活窗口,操作和上面一样。不过这次是真正的激活了。
第五步:设置环境变量
(1) sudo vi /etc/profile
(2) 在文件末尾添加 export PATH=/usr/local/MATLAB/R2014b/bin:$PATH
(3) 保存并退出后使设置生效 source /etc/profile
这样就可以直接使用matlab打开matlab了。
安装过程中遇到的的错误:
- 显示缺少库,安装库:libXt.so.6->apt-get install libxt6(其余类似)
- 打开matlab时页面显示permission denied:不要使用sudo打开,直接使用matlab命令打开。
远程服务器运行matlab程序:
- matlab -nodisplay -r ‘run main’(命令行运行)
- nohup matlab -nodisplay -r ‘run main’ 1> running.log 2> running.err &(挂机运行)