Quiero ssh a servidores remotos, ambos ejecutándose CentOS
con X11Forwarding
habilitado.
Sin embargo, la aplicación X no puede ejecutarse correctamente en uno de ellos: en el host B funciona bien. Pero en el host AI aparece el error "no se pudo conectar a la pantalla", cada vez que inicio la aplicación X.
Después de verificar la DISPLAY
variable de entorno en el host A, que creo que está relacionada con la ventana X, encontré su valor localhost:10.0
. Siguiendo los consejos aquí , cambio DISPLAY=0:10.0
y funciona. Sin embargo, DISPLAY
en el host B todavía está localhost:10.0
y funciona bien.
Mi pregunta es, ¿qué DISPLAY
representa el valor en ? ¿Cuál es la diferencia entre localhost:10.0
y 0:10.0
?
Se dice que localhost
identifica un nombre de host. Entonces, ¿qué host identifica, el servidor (host A / B) en el que se ejecuta mi aplicación X o mi cliente local donde quiero que se muestre la ventana X?
Cualquier sugerencia o puntero a la documentación sería apreciada.
localhost
está vinculado192.168.1.200
(alguna IP específica como esa. No quiero exponer mi configuración real) en el host A. También funciona cuando se exportaDISPLAY=127.0.0.1:10.0
. ¿El reenvío X solo funciona en la interfaz de bucle invertido?localhost
es un nombre especial que se une a una interfaz de bucle invertido (lo0) en Linux, nunca debe estar vinculado a una dirección IP real. En realidad, puede verificar el enlace ejecutandosudo netstat -apn | grep 6010
su SSH debe estar escuchando en ese puerto la conexión de pantalla. Por lo que puedo decir es127.0.0.1
solo.