
Me estoy conectando a un servidor local que ejecuta MATLAB (versión 2015a) a través de ssh con la opción de reenvío X ( ssh -X
).
Sin embargo, cuando inicio MATLAB aparece esta advertencia:
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.
Cuando inicio MATLAB como root, en lugar de Permission denied
en la primera línea, obtengo:
libGL error: failed to authenticate magic 1
Los gráficos son terribles, incluso el texto (consulte la captura de pantalla a continuación). Supongo que este problema está relacionado con el reenvío de gráficos al sistema invitado a través de ssh. Entonces pensé que la opción de visualización en MATLAB se puede configurar en la pantalla X del sistema invitado, lo cual hice de la siguiente manera:
matlab -display guest-ip:0
Incluso entonces recibo el error OpenGL y no hay salida gráfica (matlab se ejecuta en shell y las ventanas de figuras no aparecen).
El anfitrión tiene centos-7 y el invitado tiene fedora-20 y ambos tienen mesa-libGLU
instalado. ¿Cuál es la forma correcta de transmitir gráficos de alta calidad?
Sistema anfitrión
Sistema invitado (para comparar)
Respuesta1
Tuve el mismo problema y lo resolví usando la guía de:
http://cplusadd.blogspot.com/2012/01/speeding-up-matlab-over-x11-forwarding.html
Si inicia sesión en la máquina A a través de ssh desde la máquina B y luego ejecuta el comando de terminal matlab en el directorio de inicio de A, cree un archivo en el directorio de inicio titulado java.opts
con el contenido:
-Dsun.java2d.pmoffscreen=false
Luego ssh usando estas opciones:
ssh -c arcfour,blowfish-cbc -Y -C username@server
Para mí, esto hizo que ejecutar matlab sobre ssh fuera mucho, mucho mejor.