Estoy tratando de abrir xtermen mi servidor remoto (Ubuntu Server 10.04) con ssh:
ssh -X name@machine xterm
pero el error devuelto es:
xterm Xt error: Can't open display: :0.0`
Busqué en Google e intenté todo lo que encontré. Aún recibo este error. La variable DISPLAY se debe configurar automáticamente, ¿verdad?
Parte de sshd_config:
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
¿Algún consejo?

xtermen la terminal actual antes de ssh-ing?Respuestas:
Si ssh puede establecer la conexión, se establecerá
DISPLAYen el valor adecuado. Como haX11DisplayOffsetestablecido en 10 (el valor predeterminado), ssh usará la primera pantalla disponible a partir de 10. Si ve un valor inferior a 10¹, entonces algo está interfiriendo con el reenvío X11 normal configurado por ssh, al menos por primordialDISPLAY. El valor:0(o:0.0la parte posterior al punto es irrelevante) indica la primera pantalla que se inició en la máquina, que en casos típicos es la sesión activa (o el mensaje de inicio de sesión gráfico) en la consola de la máquina.La explicación más probable para el comportamiento que observa es que se establece uno de sus archivos de configuración de shell
DISPLAY. El culpable más obvio es~/.bashrc(que debido a una peculiaridad de bash se ejecuta cada vez que el padre de bash esrshdosshd, incluso si el shell no es interactivo). Otro archivo que define variables de entorno es/etc/environment. Si ese es el caso, la solución es obvia: no establezcaDISPLAYallí. (Hay muy pocos casos en los que deba configurarloDISPLAYmanualmente).Hay otras explicaciones exóticas. Esto podría suceder si ha cambiado su shell de inicio de sesión a
screen(DISPLAYuna buena idea en teoría, pero no práctica) y tiene un archivo de inicialización de shell que se establece a la fuerza dentro de la pantalla (no es una buena idea). Esto también podría suceder si configuró el servidor para aceptar las variables de entorno enviadas por el cliente (AcceptEnvdirectiva ensshd_config), el cliente está enviandoDISPLAYy no se pudo establecer la conexión X. O podría suceder si configura una variable de entorno en el servidor a través de lacommanddirectiva in~/.ssh/authorized_keys. Oxtermpodría ser un guión.¹ O cualquiera que sea el valor de
X11DisplayOffsetestá en la configuración del servidor, pero casi nunca ha cambiado desde el valor predeterminado.fuente
DISPLAY=localhost:11.0en mienv, pero su relevancia y si debería cambiarlo noDISPLAY 10.0está claro.DISPLAY=:0 xtermy todavía recibo elxterm: Xt error: Can't open display: :0error, por lo que la variable de entorno no es el problema.Su comando debería funcionar, o al menos lo hace para mí. Intenta esto en su lugar:
Editar (1):
Prueba esto:
Eso debería mostrar todo el entorno. Debería haber varias cosas SSH allí, y también PANTALLA. PANTALLA debe ser 10.0.
También puedes probar esto:
fuente
-Ypero tampoco funcionó. Todavía me saleCan't open display: :0.0localhost:10.0El control de acceso de X probablemente esté en el camino.
Ejecute
xhost +(desde el paquetex11-xserver-utils) para deshabilitar completamente el control de acceso.fuente
Además
X11Forwarding yes, también necesitaba agregaren
/etc/ssh/sshd_configcomo se describe aquí .
fuente
Descubrí que xauth no se había instalado.
fuente
Además, compruebe que tiene X11 instalado en el extremo del cliente. Estaba teniendo este problema cuando actualicé mi Mac a OS X Mountain Lion. Mountain Lion elimina X11, por lo que debe instalarlo nuevamente a través del proyecto de código abierto X Quartz. http://xquartz.macosforge.org/landing/
fuente
Primero debe abrir la conexión y, una vez establecida, abrir xterm.
fuente
ssh -X name@machiney después de la conexiónxtermme sale el mismo error. ¿Te refieres a eso? ;)sshse conecta primero, luego se inicia xterm en esesshentorno. De cualquier manera, es casi lo mismo solo si lo usassh -X remoteprimero, luego puede verificar si loecho $DISPLAYhace para asegurarse de que$DISPLAYesté configurado correctamente en la computadora remota después de unssh -X.