关键字:mount,ln -s ,libc.so.6,matlabr2010a,ubuntu 12.10
由于数字图像处理这门课需要使用matlab来做实验,而之前在windows下我安装的Matlab随着我的windows系统的一起被格掉了。原本希望可以从老师那里得到一份linux版本的Matlab,没有结果。今天在同学的win7系统的电脑从网上下载了一份Matlab2010a.unix版(刚接触Ubuntu,不知道有什么好用的下载工具),下载就下了十几个小时,总算是下载好了。可以安装了。
命令:sudomount -o loop /home/xiajian/software/matlabR2010a.iso/opt/matlabR2010a
注意:一开始要使用sudomkdir /opt/matlabR2010a—其实一开始不知道挂载是是个什么意思,犯了个错,不应在/opt目录下挂载。
cd到/opt/matlabR2010a目录下,开始安装Matlab
sudo ./install
注意:这里的install其实就是一个shell脚本文件。
第一遍安装失败了,失败的原因有两个:一个是libc.so.6库的问题,一个是java的jre的问题
针对第一个问题上网搜资料:
参考[1]给出的方法是这样的:
在Ubuntu11.10上安装MatlabR2010a时,提示”/lib/libc.so.6:notfound“,其实这个库是存在的,只是地方换了,在"/lib/i386-linux-gnu/"下面,我们只需创建一个链接即可。使用下面的命令:
For 64 bit:sudo ln -s /lib64/x86_64-linux-gnu/libc-2.13.so /lib64/libc.so.6
For 32 bit:sudo ln -s /lib/i386-linux-gnu/libc-2.13.so /lib/libc.so.6
事实上创建符号链接的解决方法是对的,但是一开始由于没有想到版本之间是有有所区别的。就直接复制的人家的命令。后来在装了一次,我发现这个按出现图形安装界面之前,就出现如下的这个提示,
./install: 1:./install: /lib/libc.so.6: not found
按道理而言,lib目录下因该是有这个符号链接的。于是考虑是不是权限的问题,使用sudonautilus进入到相应的目录下修改文件的权限,结果发现,权限居然不可以修改。查看了install脚本后,尝试着把符号链接改为硬链接文件,使用man ln看如何是用,没有找到特定的参数,我就简单的见-s选项去掉了,结果发现libc-2.13.so库文件在/lib/i386-linux-gnu不存在。库文件不存在我就想通了,为什么install脚本找不到libc.so.6库文件了。这下就只能去网上搜一下特定问题了。
参考[2]给出了问题的解答,原文如下
“2.解决链接库错误问题
如果已经有人按照“二.安装过程”中最后的方法启动Matlab,就会发现终端会提示你缺少“/lib/libc.so.6:not found”文件,下面我们讲一下如何修复该问题。
首先,在终端中输入下列命令:
locate libc.so --locate:findfile byname
从上面的命令会得到下面的结果:
/lib/i386-linux-gnu/libc.so.6
/usr/lib/i386-linux-gnu/libc.so
这里注意一下,每个人的系统是不同的,位数也是不同的,你只要记住后面有“”的文件路径即可,这里,我的系统应该输入下面的命令:
sudo ln -s /lib/i386-linux-gnu/libc.so.6 //lib/libc.so.6
注意:要找对链接,不要照搬我的命令,将上面的“/lib/i386-linux-gnu/libc.so.6”换成你系统里面的链接即可。”
实际上就是这一点解决了我的问题。再次安装的时候,中间自己犯了个错误,将安装终结了,不得不再次安装一次,这次终于成功了。并且没有出现再次出现第二个问题,这点让我有点奇怪,因为参考[1]要我去下载一个sun的jre运行环境。而我的Ubuntu12.10下默认安装的是openjdk1.7.10,不管这么样,安装成功了。但是每次要从终端中运行Matlab实在有点繁琐(将matlab安装的路径下的/XXX/matlab/bin添加到环境路径中或者将matlab/bin/matlab脚本文件新建一个符号链接到/usr/bin目录中区)。
(1)如何在面板里添加matlab条目的问题:--没有试成功
建立符号链接:cd /usr/bin/ ln -sf /opt/matlab/bin/matlab .
#拷贝matlab的图标文件到系统的目录里
cp /opt/matlab/X11/icons/matlab64c_icon.xpm /usr/share/pixmaps/
#生成桌面菜单desktop文件
cat >/usr/share/applications/matlab.desktop << EOF
[DesktopEntry]
Type=Application
Version=7
Name=MatlabName
[zh_CN]=MatlabGenericName=Matlab Development EnvironmentGenericName[zh_CN]=Matlab矩阵实验室
Comment=MatlabIDE Comment[zh_CN]=Matlab矩阵实验室软件
Exec=matlab %f-desktop
Icon=/opt/matlab/X11/icons/matlab64c_icon.xpm
Terminal=false
Categories=GTK;Development;IDE;
MimeType=text/plain;text/x-chdr;
试了半天,不成功,还是就在终端里敲命令使用后台命令。
(2)中文乱码的问题:
注意因为我的matlab是安装在/opt目录下的
1、Matlab2010的JRE目录为:/opt/matlab/sys/java/jre/glnx86/jre*请根据自己的安装目录和版本确定JRE的目录;
2、$cd /opt/matlab/sys/java/jre/glnx86/jre/lib/fonts/;
3、建立目录fallback:$ mkdir fallback(文件夹必须命名为fallback,原因未知);
4、把字体复制或链接到fallback目录,选择其中之一就可以:
(1)Windows的simsun字体--这个我觉的作者是使用的双系统
$ cp/media/Windows/WINDOWS/Fonts/simsun.ttc fallback/
(2)Linux文泉驿(推荐)
$cp /usr/share/fonts/truetype/wqy/选择一种您喜欢的fallback/(这里是我选的是wqy-zenhei.ttc)
5、进入fallback目录,执行mkfontscale命令;
$ cd fallback
$ mk fontscale
6、回到上一级菜单:
$ cd ..
7、将上一步生成的文件添加到lib/fonts/fonts.dir文件中,可用以下命令完成,当然也可以用编辑器复制粘贴:
$ cat fallback/fonts.scale >>fonts.dir
注意:必须先将fonts.dir设为可写,命令:chmod 644 ./fonts.dir
8、至此Matlab的Java环境中文支持安装完了,接下来配置Matlab;
9、进入Matlab,应该直接能显示出来;没有的话选择菜单File>>Preferences>>Fonts选择SimSun/wqy字体就行了;---我发现不需要选择特定字体--其实还是需要的选择文泉(wenquan)的字体
1.解除挂载:sudo umount /opt/matlabR2010a
2.删除目录:sudo rmdir /opt/matlabR2010
3.一些截图:
注意选择”Installmanually without using the Internet”,这里的按钮的样式一开始还不是很适应,还试错了几次。
输入序列号:
然后就在安装完成了。打开matlab的截图:
图上的不能写文件的问题修改了一些权限就解决.
打开终端,默认的用户主目录下键入ls-al命令,找到如下的这个目录:
cd到这个目录下,可以看到存在这个R2010a这个目录,cd到R2010a目录下,此时在输入ls-al命令,就可以看到上面上面的preferencefile的文件:matlab.prf文件,使用sudochmod 666 matlab.prf命令后,关闭matlab再次打开matlab后就没有问题了.
后来使用的时候,发现一个问题—imshow函数不能使用的问题,令我非常的沮丧的度过了一个晚上。6月7日上午,在老师的引导下,我解决了这个问题,说道底,还是个权限的问题。因为安装的时候使用的root权限进行安装的,而使用matlab的时候,是在一般用户权限使用的,而imshow函数在执行(用户权限下使用)的时候会创建一个临时的文件matlabprefs.mat,这个文件需要保存在/home/xiajian/.matlab/R2010a/目录,而然这个文件夹当时的权限是这样的:
drwxr-xr-x 3root root 4096 Jun 1 00:31 .matlab/
--这个不需要修改
drwxr-xr-x 2root root 4096 Jun 4 21:04 R2010a/
看到这样的文件夹,很明显,我没有权限写入,于是,把权限改了后,世界如此的美好。
将R2010a目录的权限使用chmod修改为775就可以了
drwxrwxr-x 2 root root 4096 Jun 7 10:19 R2010a/
修改权限后就可以在matlab中使用imshow函数了
[1]http://www.linuxidc.com/Linux/2012-02/53355.htm
[2]http://www.linuxidc.com/Linux/2012-04/57883p2.htm
[3]http://blog.sina.com.cn/s/blog_4cf8aad30100kp99.html