Запустить Matlab в Linux без графической среды?

Я собираюсь запустить программу Matlab на удаленном сервере Linux, используя SSH. Мне было интересно, как запустить Matlab в Linux только с командной строкой, а значит, нет графической среды?

Спасибо.

Ответ 1

Запустите MatLab со следующими флагами

matlab -nodesktop -nojvm -nosplash
  • -nodesktop предотвращает создание рабочего стола

  • -nojvm предотвращает запуск виртуальной машины Java

  • -nosplash предотвращает запуск заставки.

Обратите внимание, что, как отметил в комментариях Ли-аун Йип, Mathworks не рекомендует использовать флаг -nojvm.

Ответ 3

matlab -nodisplay

Смотрите здесь около -nodisplay.

Тогда -nodesktop и -nosplash не нужны. Они не имеют смысла в текстовом режиме.

Вероятно, не стоит добавлять -nojvm, если у вас нет повода для этого. Без JVM вы теряете некоторую функциональность, отсутствие которой позже может привести к путанице. Источник: та же ссылка, что и выше. В верхней части -nodisplay он не делает ваш неграфический сеанс Matlab менее графическим.


Вот несколько способов запуска команд не интерактивно.

Способ 1:

matlab -nodisplay < myScript.m

Положите exit, например. последняя команда в myScript.m.

Способ 2:

matlab -nodisplay -r "try, myFunction(); catch e, disp(getReport(e)), exit(7), end, exit()" 

Второй способ является предпочтительным, поскольку, например, если в середине кода есть ошибка, то второй способ распечатает сообщение об ошибке и выйдет с ненулевым кодом. В то время как первый способ эквивалентен набору команд непосредственно, независимо от того, что говорит Матлаб (это могут быть сообщения об ошибках).

В случае, если следующий вопрос: "Как подавить приветственное сообщение в текстовом режиме Matlab?", похоже, нет никакого хорошего способа избавиться от него.

Ответ 4

Используйте octave http://www.gnu.org/software/octave/

Это совместимая с Matlab совместимость с Matlab с открытым исходным кодом. Вы сможете запустить его из командной строки просто как /usr/bin/octave или smth, как это