
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 denied
MATLAB을 루트로 시작하면 첫 번째 줄 대신 다음과 같은 결과 가 나타납니다.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을 훨씬 더 좋게 실행할 수 있었습니다.