红联Linux门户
Linux帮助

Ubuntu Server上安装Matlab

发布时间:2015-04-02 10:35:27来源:linux网站作者:xinlu8439

Ubuntu Server上安装Matlab,利用X11和Putty输出窗口到Windows桌面(环境选择)

最近有点迷上Server版的Ubuntu,内存占用实在是太低了,系统稳定、反应快。这种环境下,运行Matlab应该是最完美的。

网上随便搜搜也会发现,Linux的Matlab要普遍比Windows的快,毕竟单纯从系统环境看,后者是要臃肿得多。我个人还挺喜欢Windows 8的,但经老婆测试发现,Windows 8下Matlab速度明显比Windows 7慢,有时候i7处理器甚至跑不过年迈的Core2——由此可见,系统对Matlab的影响是十分大的。

看电影也都知道了,高阶运算/并行运算都是基于Linux内核的,一般就是指令行登录,执行命令,然后获得一个程序界面窗口输出。

在Windows下,通过Putty我们可以利用SSH登录Linux服务器,但想要把服务器内安装的应用程序的窗口输出到桌面,则需要X11的配合。默认情况下,Ubuntu桌面版已经包含X11服务器端的程序,Server版则需要自行安装,并加载一个轻量级的图形界面。

Ubuntu现在的Unity太臃肿,十分不喜欢,尝试了Xubuntu和Mint,都还不错,但两者的问题在于自动更新太频繁,并且装了一堆不需要的应用,于是我决定用Ubuntu Server + Openbox + X11来实现我要的效果。


系统:Ubuntu Server 14.04 LTS

图形界面:Openbox

应用程序:Matlab 2014a、CIFS支持包(这个主要是用于Mount Windows共享文件夹的)

虚拟机环境:8 vCPU + 8GB内存 + 40GB硬盘 + 无硬件3D加速

下一章我将细谈Openbox和Matlab的安装,这里我轻描淡写一下Ubuntu Server的环境配置和对比其他Linux发行版的不同。

Ubuntu Server在环境安装上没有要求,不需要预先为Matlab安装任何组件。即使是CIFS也是可选的,目的只在于可以将Windows的共享文件夹mount到Linux系统下,这样两边交换数据时方便些。


选择服务器系统时,我个人挣扎了一下,因为Linux的发行版实在太多了。这里我简略地对比一下主要Linux系统之间的区别(我个人的考虑角度)

Ubuntu Server对比红帽企业版Linux(RHEL)和CentOS
先说RHEL和CentOS,两者是同根生,CentOS是基于RHEL的社区维护版,所以内核、版本上是一致的。RHEL由红帽维护,CentOS由社区维护。

CentOS在服务器领域极为流行,不仅是因为红帽的关系,也因为自身版本更新原则的原因。RHEL和CentOS都是真正的LTS(长期支持版本),跨度都在10年——即一个版本系统发行后,十年里都会有更新支持,这些更新不仅仅内核的安全补丁更新,更重要的是软件的兼容性Bug补丁。服务器应用有很多,没准一次小更新就会造成兼容问题,从而导致服务中断——红帽公司也就是靠维护和保证服务,来收取技术支持费盈利了。CentOS则完全免费,用户要靠自己。

Ubuntu Server也号称LTS,但跨度据说只有3年。至少从12.04 LTS到14.04 LTS,用户只等了不到3年。不是说发行新版本,旧版本就不支持了。但一家公司的资源也是有限的,既承诺要长期支持12.04,又怎么有足够精力支持14.04呢?所以这种担忧在企业级服务器里面是广泛存在的,也是用户不太愿意采纳的原因。

但作为个人用户,Ubuntu更新快一点并不是什么严重的事。说难听些,真遇到兼容问题导致服务器挂了,也没太大损失。何况Ubuntu社区确实大,想要解决问题很容易,Debian的应用包也丰富,所以是我自己的首选。

Server版对比桌面版等
虽然安装Matlab是需要图形界面的,很多时候也确实觉得有图形界面方便些,但毕竟这不是天天用的系统,轻简、稳定是最重要的考量。而且服务器是挂在Hyper-V上,能节省一些内存资源就尽量节省。综合这样的考虑,桌面版必然排除掉(动则内存就要1GB以上)。


一、系统安装

具体操作省略……不需要特别注意什么。如果一定要勾选预定设置,可以把OpenSSH Server在系统安装时预先安装了。如果没有或忘记是否安装,请执行:

sudo apt-get install openssh-server


二、X11服务器和Openbox的安装

sudo apt-get install xorg    # 安装X11

sudo apt-get install openbox obconf menu

安装完成后,可以从命令行执行startx进入图形界面。

Openbox图形界面就是白纸一张——没有任务栏、没有时钟等挂件。只能通过右键点击桌面,获得一个控制菜单(其实习惯了也很方便,要的就是这种简单)。

提示:在Openbox下切换已经打开的窗口,是通过alt + tab组合键。


三、放入Matlab的ISO镜像文件(或CD盘),将其mount到/media/cdrom下

# 首先执行lsblk指令

lsblk
Ubuntu Server上安装Matlab

这里可以看到:最下面的sr0对应的是rom,即CD-Rom,MOUNTPOINT下为空,也就是CD-Rom已被探测到,但是没有mount到任何对应路径,因此还不能访问。

Ubuntu文件系统下有一个/media/cdrom是用来mount光驱的,于是我们执行以下命令:

sudo mount -t iso9660 -o ro /dev/sr0 /media/cdrom

cd /media/cdrom

ls -l
Ubuntu Server上安装Matlab


四、安装Matlab 2014a

经过上面操作后,可以看到Matlab的ISO内容被成功读取。根据我的个人经验,直接在光盘上安装Matlab是不行的!需要把所有文件复制到一个文件夹下,并赋予etc和sys两个文件夹775权限(不能写入的话会出错,不理解为什么)。

mkdir ~/matlab_installer    # 在home下面创建一个文件夹

cp -a /media/cdrom/. ~/matlab_installer

# 漫长等待后……

cd ~/matlab_installer

sudo chmod 775 etc

sudo chmod 775 sys

sudo ./install

至于Matlab 2014a具体怎么安装,下载文件里面有说明,大家都懂的。
Ubuntu Server上安装Matlab


一、安装Google Chrome浏览器

Openbox右键默认菜单中第二个选项是Web browser,但系统截至目前是没有安装任何网页浏览器的。我们可以选择安装Chrome,操作过程如下。

# 在Openbox下打开控制指令行:

sudo apt-get install libxss1 libappindicator1 libindicator7

# 注意上面两个最末数字均是数字1,不是字母l

wget

sudo dpkg -i google-chrome*.deb

以上操作就完成Google Chrome的安装了,现在通过右键菜单打开浏览器,将会直接运行Chrome。

如果系统内安装了两个以上的浏览器,请执行以下指令选择默认运行浏览器:

sudo update-alternatives --config x-www-browser


二、Windows上使用X11客户端

最知名的X11 Windows客户端应该是Cygwin,但我更喜欢用Xming的绿色版(解压后直接运行就可以了)。

Xming解压后是这样的:
Ubuntu Server上安装Matlab

我们运行Start Xming+PuTTY.bat文件,而不是运行Xming.exe或者里面包含的putty.exe
Ubuntu Server上安装Matlab

运行后,屏幕右下角会有个X的图标,并自动打开putty

注意Putty在使用前需要设置一下:
Ubuntu Server上安装Matlab

默认是使用文件里面存好的Sessions,我们电脑注册表里记录好的,需要特别点一下上图高亮处。

创建好自己的Session后(可保存于注册表或者文件中),注意进行下面操作:
Ubuntu Server上安装Matlab

没有勾选X11输出的话,Putty是不能将GUI窗口转到Windows上的。
Ubuntu Server上安装Matlab

SSH登录后,注意启动Chrome的指令是google-chrome &(注意后面的&,没有这个将无法在Windows下打开多个X窗口)

下面是在Windows下通过X11启动Google-Chrome的截图:
Ubuntu Server上安装Matlab

注:以上图片上传到红联Linux系统教程频道中。

注意左上角的X图标,这与在Windows直接打开Chrome是不一样的。

Linux + X11的搭配很适合Matlab这种计算工具的环境架设。


三、让Linux访问Windows共享文件夹,并在每次启动时自动mount

这功能好比Windows下映射网络存储到某个盘符(map network drive),我的目的是让Ubuntu每次重启后也能自动将\\Server\SharedData映射到其系统下某一对应文件夹

考虑到我不需要对多个用户提供支持,方便起见,我将\\Server\SharedData映射到~/MatlabShare下(即:/home/user/MatlabShare)

# 先安装cifs-utils(旧系统为smbfs)

sudo apt-get install cifs-utils

mkdir ~/MatlabShare    # 创建文件夹

nano ~/.smbcredentials    # 创建一个用来记录用户信息的文件

# nano会打开一个空白文档,在里面输入如下信息:

username=xin    # xin是我的账户名,替换成你自己的

password=1234  # 1234是密码,同样替换成你自己的

# 保存退出后,修改该文件权限为600(只有用户自己可以读写)

chmod 600 ~/MatlabShare

sudo nano /etc/fstab    # 编辑fstab文件以实现自动mount

# 在最末端加上下面内容

//Server/MatlabShare /home/xin/MatlabShare cifs credentials=/home/xin/.smbcredentials,iocharset=utf8,sec=ntlm,uid=1000,gid=1000 0 0

# 最后执行

sudo mount -a