还有就是在Ubuntu中matlab已通过改用OpenGL软件禁用了某些高级的图像显示渲染功能(在文章最后)
zink和vmwgfx都是matlab所需的图形驱动项目,由于libstdc++与matlab脱节导致
找到matlab的glnxa64文件夹
1.cd /usr/local/MATLAB/R2023a/bin/glnxa64
/usr/local/MATLAB/R2023a是默认安装matlabR2023a的目录(每个人都不一样),/bin/glnxa64复制即可
(如图所示我的matlab安装在主目录(/home/用户名(我自己是qyh))的/user文件夹里)
---查看主目录可用以下的两条命令
sudo apt install wise
psw
至于你的matlab放在哪只有自己知道
2.sudo ln -s /lib/x86_64-linux-gnu/libstdc++.so.6.0.30 libstdc++.so.6
这个是将/lib/x86_64-linux-gnu/libstdc++.so.6.0.30这个文件,创建了一个名叫软连接
这个的功能在于在有着多个libstdc++库时,在使用libstdc++.so.6.会指向确定的/lib/x86_64-linux-gnu/libstdc++.so.6.0.30
做完以上两步,就会达到下图效果
3.解决Failed to load module "canberra-gtk-module"
可以看到缺少canberra-gtk-module模块,这是一个GKT+模块,用来支持licanberra库,在使用matlab时可以在触发某些事件,及时发出声音提示,比如输入某些错误数据时,或者无法运行时警告
1.第一种情况是刚上手ubuntu,从来没安装过libcanberra的模块,还有就是安装了但是还是出现这个问题,这是由于ubuntu特有的问题,由于库的版本不一,在启动时系统无法去分配库,和上面的问题一样,都是通过创建软连接修复的
sudo apt-get install libcanberra-gtk-module
sudo apt-get install libcanberra-gtk* libgconf-2-4
sudo ln -s /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libcanberra-gtk-module.so /usr/lib/libcanberra-gtk-module.so
完成以后便正常启动了
4.在Ubuntu中matlab已通过改用OpenGL软件禁用了某些高级的图像显示渲染功能
直接在matlab命令行输入
opengl('save','software')
这是matlab中设置渲染的函数,此处将渲染改为软件渲染,之前提示禁用图形渲染是硬件渲染,
opengl是一个标准它使得图形能和GPU直接交互,从而实现硬件渲染,
但由于ubuntu自带的图形驱动无法满足opengl需求,所以一般被禁用,所以对图像渲染大打折扣,
这对要显示图形的大型进程非常不利,太过垃圾,而且nvdia的驱动安装也常常不兼容Ubuntu的有些版本
我还是建议在window下使用matlab,这个ubuntu对新手太不友好了