如何在不“杀死” Unity 的情况下在 Ubuntu 14.04 中安装 Matlab MCR?

Posted

技术标签:

【中文标题】如何在不“杀死” Unity 的情况下在 Ubuntu 14.04 中安装 Matlab MCR?【英文标题】:How do I install the Matlab MCR in Ubuntu 14.04 without "killing" Unity? 【发布时间】:2015-06-09 14:07:08 【问题描述】:

背景:我从LAPP stack 创建了一个Ubuntu VirtualBox 并添加了Ubuntu 桌面(Unity:sudo apt-get install ubuntu-desktop)。现在我正在尝试在不丢失 Unity 的情况下安装 MCR。

DownloadMCR 压缩并解压到 MCR_SOURCE 转到包含文件的文件夹:cd /media/sf_shared/MCR_ SOURCE

更改installer_input.txt文件:

destinationFolder=/opt/MCR
agreeToLicense=yes
outputFile=/opt/install.log
mode=silent
product.MATLAB
product.MATLAB_Builder_JA
# Note: To find out the required toolboxes >> start Matlab >> run your code and find out which toolboxes were used with: license('inuse')
安装MCR:sudo ./install -inputFile /media/sf_shared/MCR_SOURCE/installer_input.txt>>成功 重启Ubuntu>>测试Ubuntu的Unity是否还存在>>一切正常

注意下一步会“kill”你的Ubuntu桌面配置!!! (即复制你的硬盘,你必须做的任何事情来快速恢复)——现在配置:sudo gedit /etc/environment

LD_LIBRARY_PATH="/opt/MCR/v84/runtime/glnxa64:/opt/MCR/v84/bin/glnxa64:/opt/MCR/v84/sys/os/glnxa64:$LD_LIBRARY_PATH"
XAPPLRESDIR="/opt/MCR/v84/X11/app-defaults"
# Note: X11/app-defaults folder has not been created during installation

重启 Ubuntu >> Unity 消失了,删除上述行等恢复尝试不会恢复 Unity;重新安装 Ubuntu 桌面也无济于事。

我已经尝试使用 alternative route 导出变量,这也“杀死”了 Unity。顺便说一句,这会影响所有用户。

有什么想法吗?

【问题讨论】:

【参考方案1】:

/etc/environment中不需要注册这些环境变量,也就是说Unity侧边栏不会受到影响。

而是将环境变量临时注册为本地用户或通过sudo -i

export LD_LIBRARY_PATH="/opt/MCR/v84/runtime/glnxa64:/opt/MCR/v84/bin/glnxa64:/opt/MCR/v84/sys/os/glnxa64:$LD_LIBRARY_PATH"
export XAPPLRESDIR="/opt/MCR/v84/X11/app-defaults"

现在可以在不“杀死” Ubuntu 桌面的情况下运行 Matlab 应用程序。例如运行 Java 编译的makesqr.m 文件。

java -classpath "/opt/MCR/v84/toolbox/javabuilder/jar/javabuilder.jar:/media/sf_shared/for_testing/makesqr.jar" makesqr.Class1 5

Java 包makesqr 是使用Matlab's JavaBuilder tutorial 创建的。这是在我运行 Matlab R2014b 的 Windows 7 机器上完成的。

请确保/opt/MCR/media/sf_shared/for_testing文件夹的所有者和权限设置正确(详见here)。

【讨论】:

以上是关于如何在不“杀死” Unity 的情况下在 Ubuntu 14.04 中安装 Matlab MCR?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在不重新启动服务器的情况下在远程 weblogic 上重新部署应用程序?

如何在没有 root 访问权限的情况下在服务器上杀死其他人的 Python 进程?

如何在不使用 AudioQueueRef 的情况下在 AudioQueue 中设置音量?

如何在没有事件/委托回调的情况下在 Unity 中创建 MessageBox?

如何在不重新加载的情况下在同一页面上提交文件[重复]

如何在不打开任何对话框的情况下在 Facebook 上发布消息?