caso 1

caso 1

He iniciado sesión en un servidor remoto y estoy intentando mostrar una aplicación x (por ejemplo, Firefox). pero aparece un mensaje de error. Los siguientes son mis intentos de abrir Firefox.

Black@Black-PC ~
$ ssh -X kwagjj@$labserver -p 122
[kwagjj@James5 ~]$ firefox
Error: no display specified
[kwagjj@James5 ~]$ exit
logout
Connection to 143.248.146.204 closed.

Black@Black-PC ~
$ ssh -Y kwagjj@$labserver -p 122
[kwagjj@James5 ~]$ firefox
Error: no display specified
[kwagjj@James5 ~]$ 

Usé -X, -Y porque leí en alguna parte que estas dos opciones están relacionadas con las credenciales relacionadas con X11 y estos modificadores harán el trabajo por mí. Incluso sin los modificadores -X, -Y, mi intento falló.

¿Qué significa el error "no se especifica la visualización"?

PD: Lo extraño es que si me conecto al servidor remoto a través de mi PUTTY y repito el comando 'firefox', ¿funciona?!?! (Firefox se muestra en la computadora local)

PD: mi computadora local es Windows 7, por lo que tengo Xming ejecutándose en segundo plano para permitir la visualización de X11. En cuanto al intento escrito en la parte superior, los comandos fueron escritos en la terminal Cygwin.

Respuesta1

Me encontré con este problema al conectarme a un servidor RHEL7 sin cabeza.

Necesita el paquete xorg-x11-xauth instalado en su host para que la variable DISPLAY se configure y esté autorizada adecuadamente.

Espero haber salvado a alguien en algún momento.

Respuesta2

Asegúrese de tener la variable DISPLAY configurada en su entorno cygwin:

export DISPLAY=:0.0

después de conectarse con SSH, verifique si ese shell también conoce la variable DISPLAY correcta con:

echo $DISPLAY

Respuesta3

Gracias a @jensd, @unxnut por ayudarme. Basado en tus comentarios pude resolver el problema.

La solución necesitaba dos pasos:

  1. la variable DISPLAY debe estar configurada correctamente.
  2. al realizar ssh al servidor remoto, el interruptor -X debe estar activado

mis intentos anteriores carecen de una o ambas de estas dos condiciones.

De todos modos, para los usuarios posteriores que vean esto, aquí hay ejemplos para mostrarles lo que intento decir.

caso 1

mi máquina local no tendrá configurada la variable DISPLAY. Y luego enviaré ssh al servidor remoto con el modificador -X y luego intentaré ejecutar xclock.

Black@Black-PC ~
$ echo $DISPLAY

## the blank means that DISPLAY variable has not been specified##
Black@Black-PC ~
$ ssh -X kwagjj@$labserver -p 122
Last login: Tue Jun 24 22:23:13 2014 from 
[kwagjj@James5 ~]$ xclock
Error: Can't open display:
[kwagjj@James5 ~]$ setenv | grep $DISPLAY
DISPLAY: Undefined variable.

Como puede ver, Error: Can't open display:se muestra un error en la terminal del servidor remoto.

caso2

esta vez, en la máquina local, especificaré la variable DISPLAY. Pero cuando estoy haciendo ssh, no enciendo el interruptor -X. El resultado será un fracaso:

Black@Black-PC ~
$ export DISPLAY=:0.0

Black@Black-PC ~
$ echo $DISPLAY
:0.0

Black@Black-PC ~
$ ssh kwagjj@$labserver -p 122
Last login: Tue Jun 24 22:33:32 2014 from 
[kwagjj@James5 ~]$ xclock
Error: Can't open display:
[kwagjj@James5 ~]$ setenv | grep DISPLAY
[kwagjj@James5 ~]$ 

Al principio puedes ver que he configurado correctamente la variable DISPLAY. Pero aun así, después de ssh'ing (sin el modificador -X), xclock no se ejecuta.

setenv | grep DISPLAY* Aquí se puede ver un resultado diferente (comparar con el caso 1). en caso2, el resultado está simplemente en blanco. por otro lado, el resultado de case1 en esta línea de comando es DISPLAY: undefined variable... No estoy seguro de cómo se causa esta diferencia, pero tengo el presentimiento de que está relacionado con si has cumplido con la condición 1 o 2. .

caso3

Esta vez, especificaré correctamente la variable DISPLAY en la máquina local y también enviaré ssh al servidor remoto con mi interruptor -X activado.

Black@Black-PC ~
$ echo $DISPLAY
:0.0

Black@Black-PC ~
$ ssh -X kwagjj@$labserver -p 122
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.
Last login: Tue Jun 24 22:37:27 2014 from 
[kwagjj@James5 ~]$ xclock &
[1] 9174
[kwagjj@James5 ~]$ setenv | grep DISPLAY
DISPLAY=localhost:11.0
[kwagjj@James5 ~]$

¡Con esta configuración, xclockfunciona! Aquí hay una captura de pantalla para demostrar que no estoy mintiendo. ingrese la descripción de la imagen aquí el xclock se muestra correctamente en mi máquina local.

Nuevamente, mira el resultado de setenv | grep DISPLAYen este caso. Ahora se nota DISPLAY=localhost:11.0. Por lo que sé, esto está relacionado con MIT-MAGIC-COOKIE en el archivo .Xauthority pero como no sé mucho sobre esto no iré más lejos.

Conclusión: de los tres casos anteriores, podemos confirmar que para que X Windows remoto se muestre correctamente, tanto 1. la variable DISPLAY de la máquina local como 2. -Xel conmutador ssh deben estar configurados correctamente. Por supuesto, el servidor remoto debería permitir el reenvío X11.

Respuesta4

Tuve un problema similar con el sistema basado en Debian (proxmox) y el problema se debió a que xorg no estaba instalado. Después de que apt-get install xorgFirefox comenzó a funcionar.

información relacionada