Después de iniciar la aplicación X11 (XQuartz 2.3.6, xorg-server 1.4.2-apple56) en mi Mac (OS X 10.6.8), abrir un terminal en X11 y ejecutarlo xhost +
, luego ssh -Y
a mi Ubuntu 10.04 VM (ejecutándose en VMware Fusión). Cuando corro gedit .bashrc
(por ejemplo), obtengo:
(gedit:9510): Gtk-WARNING **: cannot open display:
set | grep DISPLAY
no devuelve nada
Pero si entro ssh -Y
en mi máquina Ubuntu 11.04, gedit .bashrc
funciona. echo $DISPLAY
devuelve "localhost: 10.0".
Lo intenté export DISPLAY=localhost:10.0
mientras navegaba en mi VM y luego ejecutaba gedit .bashrc
, pero obtengo:
(gedit:9625): Gtk-WARNING **: cannot open display: localhost:10.0
¿Qué podría ser diferente en la configuración de las dos máquinas Ubuntu diferentes que explicaría por qué una funciona y la otra no?
Actualización: según lo sugerido por Zoredache en el comentario a continuación, corrí sudo apt-get install xbase-clients
, pero sigo teniendo el mismo problema.
X11Forwarding
en el ubuntu, y que haxbase-clients
instalado y que puede iniciar Xapps en el mac en el terminal desde el que está haciendo la conexión ssh. (Compruebe que$DISPLAY
está configurado en el terminal ejecuta ssh desde .Respuestas:
Verifique sshd_config del servidor (normalmente
/etc/ssh/sshd_config
) y asegúrese de que la opción X11Forwarding esté habilitada con la líneaSi no se especifica X11Forwarding, el valor predeterminado es no en las máquinas Debian que tengo disponibles para verificar.
fuente
Desde xhost +: Cómo corregir el error "No se puede abrir la pantalla" al iniciar la GUI en el servidor remoto :
fuente
xhost +
es muy insegura y no debe usarse. Como mencionó Stefan Rogin, el atacante puede conectarse desde su host a su XSession, leer todo lo que escribe o incluso alterar la pantalla que ve.export Display=IP:0.0
hizo por míTambién tuve este problema al iniciar sesión en una máquina virtual de Ubuntu desde Mac OS X; por alguna razón, no parece que me guste 'localhost' en la variable de pantalla. Configure la IP manualmente, como sugiere harrymc:
Entonces los programas X11 deberían estar bien. No parece que deba ser necesario decirle al sistema operativo que localhost y 127.0.0.1 son equivalentes, pero al menos funciona.
fuente
Tuve este problema con mi servidor CentOS KVM, me faltaba el programa "xauth".
fuente
Si tiene este problema después de un tiempo cuando se ejecuta con
-X
arg. o simplementeForwardX11
en / etc / ssh / ssh_config, luego ejecute$ ssh username@hostname -Y
, para habilitar el reenvío X11 confiable , no sé la causa exacta, pero supongo que-X
algunas características caducan después de un tiempo, probablemente para aumentar la seguridad.Esto es lo que encontré en línea:
fuentes:
fuente
Recién probado en mi Mac, otros sistemas podrían estar bien :
-X
parámetrofuente
Cuando ejecute UXTERM o XTERM solo emita
La variable estará allí. Luego solo configúrelo y expórtelo.
fuente
Tuve que poner
/etc/ssh/sshd_config
lo siguiente:En lugar de configurarlo "sí". Es extraño si el valor predeterminado es "NO" Usuarios que usan masilla con XMing en Windows. Yo uso SSH directo sobre Fedora. Ocasionalmente comenzaría a darnos
El reinicio del servidor generalmente lo solucionaría, pero esto es estúpido. Hice lo anterior, reinició el servicio
sshd
en el servidor y presto nuevas conexiones funcionando bien nuevamente.fuente
También tuve este problema con Solaris 10 y descubrí que el oyente no estaba configurado.
fuente
En CentOS 6.5, de repente perdí el acceso remoto a los programas X después de jugar con / etc / hosts. El mismo síntoma de la variable $ DISPLAY vacía (no hay ayuda para configurarla / exportarla manualmente).
La entrada 127.0.0.1 que apunta al nombre de host real es necesaria; de hecho, el orden también parece ser relevante (pon el último y no funcionará ...)
Después de arreglar esto, xeyes, xclock y otros juguetes de prueba X están funcionando nuevamente, por lo tanto, mi virt-manager necesario también está en línea.
fuente
Acabo de encontrar un buen inconveniente en mi configuración que impidió el reenvío x: mi firewall estaba bloqueando todas las conexiones desde localhost, evitando así que se alcanzara el túnel
fuente
Si está usando Konsole, simplemente cambie a otro emulador de terminal como Xfce Terminal e intente nuevamente usar root.
fuente
terminal abierta $ ssh username @ hostname -X
export DISPLAY = "127.0.0.1:10.0" todo debería funcionar.
fuente
DISPLAY='localhost:10.0'
no funciona.Esta configuración me funciona:
Local (Cygwin de 64 bits en Windows 10)
DISPLAY=:0
Servidor (Amazon EC2 RHEL 7.6)
DISPLAY=:10.0
Estas configuraciones se encontraron haciendo clic en "X menú de aplicaciones en: 0" en la barra de tareas y seleccionando Herramientas del sistema> Terminal
fuente
Después de mucha frustración, descubrí que la entrada para el nombre de host del servidor en su archivo / etc / host era incorrecta.
fuente