【问题标题】:Issue running MATLAB in AWS via terminal通过终端在 AWS 中运行 MATLAB
【发布时间】:2021-08-27 19:20:53
【问题描述】:

在 AWS 上,我运行了一个 matlab 堆栈。通过远程桌面,matlab 运行(通过 gui)。但是,通过 ssh,我想通过终端运行 matlab 作为 bash 管道的一部分,而不会弹出 gui。但是,当我尝试使用 ssh 通过终端运行一个简单的 matlab 脚本时

/usr/local/MATLAB/R2019a/bin/matlab -batch 'run simpleScript.m'

我收到此错误:

MATLAB is selecting SOFTWARE OPENGL rendering.
terminate called after throwing an instance of '(anonymous namespace)::DisplayError'
  what():  No display available.

我想知道是否有人对此有任何解决方法?这只是在 aws 上使用 matlab 的限制吗?

为任何帮助干杯!

【问题讨论】:

  • 您尝试过-nodisplay-nodesktop 选项吗?
  • 还要检查matlab -nodesktop -nospash
  • @LuisMendo 和 Marcin 感谢您的回复!是的,我试过这些。我认为从 2019a 开始,-batch 本质上是-nodesktop -nosplash -nodisplay 的综合效果。我认为问题的出现是因为在 aws matlab 上似乎每次调用时都需要身份验证(通过 gui)。但可能有解决办法,不确定。
  • 请问:在这种情况下,您的 MATLAB 从哪里获得许可证?
  • @Edric 当然!许可证是个人许可证类型。我可能应该更清楚地说明问题不在于许可证,因为我可以使用远程桌面,通过 gui 进行身份验证并说“2+2”在 matlab IDE 环境中工作。这里的问题是我想在实例的整个生命周期内最多验证一次,然后通过终端连续运行 matlab。

标签: amazon-web-services matlab amazon-ec2 ssh


【解决方案1】:

我花了很长时间找出问题所在,最后我修复了它。

希望这个解决方案也能对您有所帮助!

先安装后

在installer_input.txt 中我没有将# enableLNU=yes 设置为有效

然后我使用sudo bash install -v -inputFile installer_input.txt 安装MATLAB

第二次安装

如果您已激活许可证,就可以了。或者你应该有一个 GUI 窗口来执行一些步骤。我推荐 VcXsrv Windows X Server。

那么你应该输入vi ~/.bashrc并在底部添加以下内容:

> export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0
> export LIBGL_ALWAYS_INDIRECT=1

然后在你的窗口中启动XLaunch

运行 matlab 激活您的许可证(我认为您已在 PATH 中添加了 matlab)

毕竟第三

如果你已经激活了license,你可以使用matlab -nodisplay在没有XLaunch的情况下运行matlab,我猜如果你设置了export DISPLAY=,我想这也可以通过ssh运行

【讨论】:

    【解决方案2】:

    当您尝试通过终端打开 MATLAB 时,MATLAB 会尝试打开许可窗口以获取您的凭据并对您进行身份验证。窗口无法打开(因为您在终端中),因此您会看到错误。

    要让事情顺利进行,您可以:

    • 部署许可证管理器堆栈并在那里上传您的许可证。然后,重新部署 MATLAB 堆栈并将许可证管理器指定为参数之一。这样 MATLAB 将始终与许可证管理器对话(无论是在桌面还是终端中),您不会看到任何问题

    • 将您的许可证文件放在 MATLAB 许可证文件夹中,以便 MATLAB 始终获取它

    • 将您的许可证文件放在磁盘上的某个位置,并使用 -c 标志启动 MATLAB 以指向该文件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-23
      • 2013-09-21
      • 1970-01-01
      • 1970-01-01
      • 2020-09-07
      • 2017-01-25
      • 2018-03-26
      • 1970-01-01
      相关资源
      最近更新 更多