透過 ssh 從 matlab 轉發高品質圖形

透過 ssh 從 matlab 轉發高品質圖形

我正在透過 ssh 使用 X 轉送選項 ( ) 連接到執行 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.

當我以 root 身分啟動 MATLAB(而不是Permission denied在第一行)時,我得到:
libGL error: failed to authenticate magic 1

圖形很糟糕,甚至文字也很糟糕(請參見下面的螢幕截圖)。我想這個問題與透過 ssh 將圖形轉發到客戶系統有關。所以我認為 MATLAB 中的顯示選項可以設定為客戶系統 X-display,我是這樣設定的:
matlab -display guest-ip:0

即使如此,我仍然收到 OpenGL 錯誤,並且沒有圖形輸出(matlab 在 shell 中運行,並且不會彈出圖形視窗)。

主機有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 變得非常非常好。

相關內容