SSH desde mi Mac a Ubuntu: ¿El reenvío de X no funciona correctamente?

SSH desde mi Mac a Ubuntu: ¿El reenvío de X no funciona correctamente?

Ejecutando una Mac Pro, OS X El Capitan 10.11.4 con tarjeta gráfica ATI Radeon y XQuartz v 2.7.9

Puedo ejecutar qdec y freeview perfectamente en mi máquina. El problema surge cuando intento utilizar SSH en una máquina Ubuntu 12.04 (Nvidia GeForce GTX 650) y uso estos programas (solía funcionar bien, pero me pregunto si algo en nuestra configuración ha cambiado ahora).

Recibo los siguientes errores después de ssh en la máquina Ubuntu.

[myuser@ubuntu-machine:~] freeview
Xlib: extension "NV-GLX" missing on display "localhost:10.0". 
X Error: BadValue (integer parameter out of range for operation) 2
Extension:    150 (Uknown extension)
Minor opcode: 3 (Unknown request)
Resource id:  0x0
Abort         (core dumped)

[myuser@ubuntu-machine:~] qdec
Xlib: extension "NV-GLX" missing on display "localhost:10.0".
X Error of failed request:  BadValue (integer parameter out of range for operation)
Major opcode of failed request:  150 (GLX)
Minor opcode of failed request:  3 (X_GLXCreateContext)
Value in failed request:  0x0
Serial number of failed request:  1504
Current serial number in output stream:  1505

Según mi conocimiento limitado, parece probable que sea un problema con X/SSH y la tarjeta gráfica, pero no estoy seguro de cómo proceder a partir de aquí. Si alguien tiene alguna idea sobre cómo superar esto, ¡estaría increíblemente agradecido!

La máquina Ubuntu también tiene un monitor y puede ejecutar qdec y freeview localmente, sin problemas. El problema parece ocurrir con SSH. Algunos programas en la máquina Ubuntu funcionarán correctamente de esta manera (pero se quejan en voz alta en el terminal de fondo sobre X)

Mac actualizó recientemente XQuartz, pero no estoy del todo seguro de si este problema ocurría antes de la actualización o no.

Lo intentamos ssh -ypero esto devuelve el mismo error.

También export LIBGL_ALWAYS_INDIRECT=1buscamos SSH en la máquina Ubuntu, pero seguimos recibiendo el mismo error.

La pregunta oficial: ¿Qué significan estos errores y cómo puedo intentar solucionarlos?

Respuesta1

Esto parece ser un problema con XQuartz. Aparentemente carecen de personal y apenas tienen tiempo suficiente para mantener el proyecto con soporte vital. Si también enfrenta este problema, intente volver a XQuartz 2.7.8, ya que funcionó para alguien en el informe de error.

Sus otras opciones podrían ser utilizar VNC, como sugirió Amias Channer.

https://bugs.freedesktop.org/show_bug.cgi?id=93953#c6

Según el desarrollador principal de XQuartz:

Dado que el problema está relacionado con la representación indirecta, es un cambio en el servidor xorg en XQuartz o un cambio en libGL o la pila X11 en el sistema remoto. Mi corazonada es que la libGL remota cambió y posiblemente algo en el soporte IGLX de XQuartz cambió. Si puede intentar ejecutar versiones anteriores de XQuartz para ver si funciona con una versión anterior de XQuartz, eso podría indicar un cambio que podría realizarse para que esto funcione nuevamente. Aunque, como mencioné, IGLX tiene soporte vital en general, no solo en XQuartz.

Y:

Sí, como mencioné en el informe de error, no hay muchas posibilidades de que este tipo de cosas se solucionen pronto porque no hay mucha gente trabajando en el proyecto. Tengo quizás de 2 a 3 horas cada mes aproximadamente, lo cual es tiempo suficiente para implementar correcciones de seguridad, realizar algunas pruebas y enviar una actualización. Agregar soporte para OpenGL Core en nuestra ruta de renderizado directo es más trabajo del que puedo realizar. Lo que está pidiendo es agregarlo a la ruta de renderizado indirecto, y es incluso menos probable que eso suceda. Xorg está desaprobando activamente AIGLX e incluso eliminándolo de la configuración predeterminada, por lo que sospecho que la solución será simplemente eliminar completamente el soporte para AIGLX.

Respuesta2

NV-GLX sugiere que está buscando aceleración NVIDIA OpenGL

Lo que significaría que la máquina Ubuntu está intentando encontrar aceleración 3D para su escritorio.

Parece que eso no funcionará mediante el reenvío ssh X de pantalla remota para esas aplicaciones.

Debe usar algo como RDP o VNC para mostrar la imagen después de que se haya producido la aceleración.

Respuesta3

Basado en estoenlace¿Has probado lo siguiente en tu Mac OS X local?

defaults write org.macosforge.xquartz.X11 enable_iglx -bool true

Parece que XQuartz no admite GLX indirecto de forma predeterminada.

información relacionada