问题描述:在WSL2中安装MATLAB,每次重启WSL2中Linux子系统,均会出现以下错误。
阅读错误信息显示问题的原因是:MATLAB认证发现当前HOSTID与安装时的HOSTID不一致。
这是怎么导致的呢?MATLAB认证与HOSTID是绑定的,而HOSTID 与MAC相关的,在WSL2中,MAC默认是动态,每次开启时,MAC地址均会重新配置;所以每次开启MATLAB时,首次认证的HOSTID与当前肯定不一致,导致认证失败。
如何解决这个问题呢?
可设置WSL2为静态MAC地址。在Linux子系统的 ~/.bashrc 中加入下图信息 ,wantmac= 后边的地址设置为自己想要的固定地址。
wantmac=00:**:**:**:**:**
mac=$(ip link show bond0 | awk '/ether/ {print $2}')
if [[ $mac != $wantmac ]]; then
sudo ip link set dev bond0 address $wantmac
fi
如何得到一个固定的MAC地址呢?其实使用命令ifconfig即可查询。如下图中 ether后面的地址
设置好后,重新激活一下,就可以用了,不会再出现不断让激活的问题。
参考网址: