Estoy interesado en reenviar una sesión X11 a través de SSH, para iniciar un proceso remoto que utilice OpenGL (específicamente, gazebo para cualquier persona familiarizada).
El problema con el que parece estar tropezando es que la glorieta se bloquea debido a una falta de coincidencia en las tarjetas gráficas; no puede encontrar extensiones "NV-GLX". El resultado exacto del error:
Xlib: extension "NV-GLX" missing on display "localhost:10.0".
Xlib: extension "NV-GLX" missing on display "localhost:10.0".
X Error of failed request: GLXUnsupportedPrivateRequest
Major opcode of failed request: 149 (GLX)
Minor opcode of failed request: 16 (X_GLXVendorPrivate)
Serial number of failed request: 24
Current serial number in output stream: 25
La máquina remota funciona con una tarjeta NVIDIA y mi máquina local está usando una tarjeta AMD.
He probado el reenvío X11 de gazebo entre dos máquinas con tarjetas NVIDIA. Funciona bien
Por lo que puedo decir, parece que una de las tres cosas está sucediendo:
- Estoy haciendo algo mal,
- Lo que quiero hacer es imposible
- Gazebo no se construye de manera agnóstica con rutas de código de ramificación para hardware diferente; lo que su sistema se ve cuando se construye es lo que obtienes.
La máquina remota ejecuta Ubuntu y mi máquina local es una Mac con 10.8.2; Ya sé que tengo el reenvío x11 configurado correctamente para el uso normal, ya que puedo hacer que cosas como xclock se abran en XQuartz muy bien. La solución (si existe) también funcionaría preferiblemente para otros sistemas operativos, incluido Windows sobre WinSCP.
xhost +
su máquina local y configure su PANTALLA en el sistema remoto a 'ip-or-name-of-local: 0'gazebo
al trabajo, pero estoy marcando esto como la respuesta aceptada porque sus sugerencias eran técnicamente correctas. Puedo hacer un túnelglxdemo
usando todas las sugerencias que hizo (ssh y xserver / xclient a través de la red), pero Gazebo parece no construir rutas de código de ramificación y supone que no se ejecutará en esta configuración extraña. ¡Gracias!.