SSH를 통해 MATLAB에서 고품질 그래픽 전달

SSH를 통해 MATLAB에서 고품질 그래픽 전달

X 전달 옵션( )을 사용하여 SSH를 통해 MATLAB(버전 2015a)을 실행하는 로컬 서버에 연결하고 있습니다 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.

Permission deniedMATLAB을 루트로 시작하면 첫 번째 줄 대신 다음과 같은 결과 가 나타납니다.
libGL error: failed to authenticate magic 1

그래픽은 형편없으며 심지어 텍스트도 형편없습니다(아래 스크린샷 참조). 이 문제는 SSH를 통해 게스트 시스템에 그래픽을 전달하는 것과 관련이 있다고 가정합니다. 그래서 MATLAB의 디스플레이 옵션을 다음과 같이 게스트 시스템 X 디스플레이로 설정할 수 있다고 생각했습니다.
matlab -display guest-ip:0

그럼에도 불구하고 OpenGL 오류가 발생하고 그래픽 출력이 없습니다(matlab이 셸에서 실행되고 그림 창이 팝업되지 않음).

호스트에는 centos-7이 있고 게스트에는 fedora-20이 있으며 둘 다 mesa-libGLU설치되어 있습니다. 고품질 그래픽을 전달하는 올바른 방법은 무엇입니까?


호스트 시스템 여기에 이미지 설명을 입력하세요

게스트 시스템(비교용) 여기에 이미지 설명을 입력하세요

답변1

나는 이와 동일한 문제가 있었고 다음 가이드를 사용하여 해결했습니다. http://cplusadd.blogspot.com/2012/01/speeding-up-matlab-over-x11-forwarding.html 머신 B에서 ssh를 통해 머신 A에 로그인한 다음 A의 홈 디렉터리에서 matlab 터미널 명령을 실행하는 경우 홈 디렉터리에 다음 java.opts내용의 파일을 생성합니다.

-Dsun.java2d.pmoffscreen=false

그런 다음 다음 옵션을 사용하여 ssh를 실행합니다.

ssh -c arcfour,blowfish-cbc -Y -C username@server

나 자신에게는 이로 인해 SSH를 통해 MATLAB을 훨씬 더 좋게 실행할 수 있었습니다.

관련 정보