install-matlab-on-archlinux

由于archlinux 并不在matlab 官方支持的系统之列,之前使用不完整的matlab(无法使用实时脚本,帮助页面显示不正常),一直觉得理所当然,居然是有解决办法的。

linux 上安装 matlab

不同于windows,在linux安装iso封装的软件可能需要使用命令(mount)挂载先,然后运行安装程序,后面就是熟悉的点点点了。大体步骤如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mkdir /tmp/matlab

sudo mount -o loop /mnt/data/MATLAB_R2018b_Linux/R2018b_glnxa64_dvd1.iso /tmp/matlab

# 新开一个 terminal
# 使用普通账户运行!
sudo /tmp/matlab/install # 如果安装到自己的家目录,不需要使用 sudo。

# 后面会弹出一个安装界面,

# 若全部安装,50% 时提示弹出 dvd1 插入 dvd2

# 使用 df 查看挂在的所有设备
sudo umount -f /dev/loop0 # 如果提示设备忙,可以稍微等几分钟,再试。

sudo mount -o loop /mnt/data/MATLAB_R2018b_Linux/R2018b_glnxa64_dvd2.iso /tmp/matlab

# 点击安装界面的继续

# 最后 umount ,以及 rmdir /tmp/matlab

和windows的安装一样(挂载相同的盘符),dvd2 的挂载点(路径)应与dvd1 一致。理论上相当于将两dvd解压到一个文件夹(挂载相当于允许你分两次解压)。

matlab 支持的系统

如下图:

https://ww2.mathworks.cn/support/sysreq.html

并没有 archlinux。archlinux wiki上如是说:

https://wiki.archlinux.org/index.php/MATLAB

所以但我安装后遇到 matlab 无法使用试试脚本以及帮助文档不正常时,以为这就是不支持的代价。

我甚至已经使用systemd-nspawn 构建 ubuntu容器运行 matlab,但是容器中的matlab仍然有如上问题。
同样的matlab 版本,我在 ubuntu 系的linux上安装所有功能均表现正常。这甚至逼迫我更换系统发行版。

无意中发现通过下面的办法是可以解决archlinux 中matlab 部分功能受限的问题。

解决办法

  1. 通过 dvd 安装好matlab 2018b后,
  2. 使用yaourt matlab-r2017b (这个时候最高只有2017b)安装依赖。
  3. 构建肯定是会失败的,但是依赖会被安装。

也可以自己安装 如下图片中所示的依赖,使用 yaourt 比较省事。

下面是matlab安装依赖前的报错情况。

实时脚本、帮助文档正常图。

最后

通过最近频繁更换linux 发行版,得出的结论就是,home 和系统分开,大软件安装到 home下user 外面,比如 matlab comsol crossover pycharm anaconda 等。

.desktop 文件使用绝对路径,添加到 ~/.local/share/applications/ 里面。
下面是我的 matlab.desktop。

1
2
3
4
5
6
7
8
9
10
[Desktop Entry] 
Categories=Application;Development;
Comment=Scientific computing environment
Encoding=UTF-8
Exec=/home/program/MATLAB/R2018b/bin/matlab -desktop
Icon=/home/program/MATLAB/R2018b/toolbox/shared/dastudio/resources/MatlabIcon.png
Name=MATLAB R2018b
StartupNotify=true
Terminal=false
Type=Application
---------本文结束感谢阅读---------
Title - Artist
0:00