Вопрос по matlab, ssh, linux, command-line – Запустить Matlab в Linux без графической среды?

12

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

Благодарю.

Ваш Ответ

4   ответа
20

matlab -nodesktop -nojvm -nosplash

-nodesktop prevents the desktop

-nojvm prevents starting of the java virtual machine

-nosplash prevents the start-up splash screen.

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

-nosplash предотвращает заставку запуска и-nojvm предотвращает запуск виртуальной машины Java.
Что делать-nojvm а также-nosplash флаги делать?
Обратите внимание, что JVM необходима, помимо прочего, для Parallel Computing Toolbox, поэтому, если вы намереваетесь использовать parfor или spmd, вы должны включить JVM (т.е. не использовать -nojvm)
Я не утверждал, что-nodesktop а также-nojvm одинаковы (поэтому я перечислил оба флага). Тем не менее, прочитав вашу ссылку, я понял, что, в отличие от того, о чем я думал раньше, JVM используется не просто как сенсация (+1 за ваш комментарий). Таким образом, в зависимости от используемых вами функций, вам может понадобиться JVM также в режиме без рабочего стола. Я никогда не сталкивался с таким случаем, хотя ...
Я погуглил;-nodesktop а также-nojvm немного отличаются.Here's an explanation by Michael Katz of The Mathworks.
4
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 (это могут быть сообщения об ошибках).

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

-5

octave http://www.gnu.org/software/octave/

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

7

Похожие вопросы