
Я подключаюсь к локальному серверу, на котором запущен MATLAB (версия 2015a), через ssh с опцией X-форвардинга ( ssh -X
).
Однако при запуске MATLAB я получаю следующее предупреждение:
libGL error: failed to open drm device: Permission denied
libGL error: failed to load driver: nouveau
libGL error: dlopen /usr/lib64/dri/swrast_dri.so failed (/usr/local/MATLAB/R2015a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /lib64/libLLVM-3.5-mesa.so))
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
MATLAB is selecting SOFTWARE OPENGL rendering.
Когда я запускаю MATLAB как root, то вместо Permission denied
первой строки я получаю:
libGL error: failed to authenticate magic 1
Графика ужасная, даже текст (см. скриншот ниже). Я полагаю, что эта проблема связана с пересылкой графики в гостевую систему через ssh. Поэтому я подумал, что параметр отображения в MATLAB можно установить на гостевой системе X-display, что я и сделал:
matlab -display guest-ip:0
Даже в этом случае я получаю ошибку OpenGL и нет графического вывода (Matlab запускается в оболочке, а окна Figure не появляются).
У хоста centos-7, а у гостя fedora-20, и оба установлены mesa-libGLU
. Как правильно пересылать высококачественную графику?
Хост-система
Гостевая система (для сравнения)
решение1
У меня была такая же проблема, и я решил ее с помощью руководства:
http://cplusadd.blogspot.com/2012/01/speeding-up-matlab-over-x11-forwarding.html
Если вы войдете на машину A через ssh с машины B, а затем выполните команду терминала Matlab в домашнем каталоге A, создайте в домашнем каталоге файл с названием java.opts
и содержимым:
-Dsun.java2d.pmoffscreen=false
Затем подключитесь по ssh, используя следующие параметры:
ssh -c arcfour,blowfish-cbc -Y -C username@server
Лично для меня это значительно улучшило работу Matlab через SSH.