
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 を root として起動すると、最初の行の 代わりに次のメッセージが表示されます。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 の実行がはるかに改善されました。