Pregunta "Sin variable X11 DISPLAY" - ¿qué significa?


Estoy tratando de instalar una aplicación Java en mi máquina Linux (Slackware).

Recibí el siguiente error y no lo entiendo.

¿Podría aconsejarme cómo abordar el problema? Gracias.

Esto es lo que obtengo: (Veo que algunos PANTALLA X11 la variable debe establecerse, pero ¿qué valor debo darle y cómo?)

~$ java -jar gate-5.0-beta1-build3048-installer.jar
- ERROR -

java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(Graphic sEnvironment.java:159)
at java.awt.Window.<init>(Window.java:407)
at java.awt.Frame.<init>(Frame.java:402)
at net.sourceforge.mlf.metouia.borders.MetouiaDotsBuf fer.<init>(MetouiaDotsBuffer.java:105)
at net.sourceforge.mlf.metouia.borders.MetouiaDots.<i nit>(MetouiaDots.java:66)
at net.sourceforge.mlf.metouia.borders.MetouiaToolBar Border.<init>(MetouiaToolBarBorder.java:49)
at net.sourceforge.mlf.metouia.MetouiaLookAndFeel.ini tComponentDefaults(MetouiaLookAndFeel.java:241)
at javax.swing.plaf.basic.BasicLookAndFeel.getDefault s(BasicLookAndFeel.java:130)
at javax.swing.plaf.metal.MetalLookAndFeel.getDefault s(MetalLookAndFeel.java:1591)
at javax.swing.UIManager.setLookAndFeel(UIManager.jav a:537)
at javax.swing.UIManager.setLookAndFeel(UIManager.jav a:581)
at com.izforge.izpack.installer.GUIInstaller.loadLook AndFeel(GUIInstaller.java:373)
at com.izforge.izpack.installer.GUIInstaller.<init>(G UIInstaller.java:116)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:30
at com.izforge.izpack.installer.Installer.main(Instal ler.java:62)

74
2018-03-19 14:28


origen


Respuestas:


Si estás en la pantalla principal, entonces

export DISPLAY=:0.0

o si está usando csh o tcsh

setenv DISPLAY :0.0

antes de ejecutar su aplicación.

En realidad, me sorprende que no se configure automáticamente. ¿Estás tratando de iniciar esta aplicación desde un terminal no gráfico? Si no, ¿ha modificado el .profile, .login, .bashrc o .cshrc predeterminado?

Tenga en cuenta que establecer la PANTALLA en: 0.0 presupone que está sentado en la pantalla principal, como dije, o al menos que la pantalla principal está conectada a su identificación de usuario. Si no está conectado, o es un ID de usuario diferente, esto no funcionará.

Si vienes desde otra máquina, y estás en la pantalla principal de esa máquina y está ejecutando X, entonces puedes usar "ssh -X nombre de host" para conectarte a ese host, y ssh reenviará la pantalla de X . ssh también se asegurará de que la variable de entorno DISPLAY esté configurada correctamente (siempre que no esté siendo interferida en los diversos archivos de puntos que mencioné anteriormente). En una sesión "ssh -X", la variable de entorno DISPLAY tendrá un valor como "localhost: 11.0", que apuntará al socket que ssh está haciendo un túnel a su casilla local.


93
2018-03-19 14:30



¿Estás ejecutando esto desde dentro de un entorno X11? Puede usar una ventana de terminal, pero tiene que estar dentro de X (ya sea después de un inicio de sesión gráfico o ejecutando startx).

Si ya se encuentra dentro de un entorno gráfico, intente exportar DISPLAY =: 0 para bash como shells (bash, sh, etc.) o setenv DISPLAY: 0 para shells basados ​​en shell C (csh, tcsh, etc.)

Si se ha conectado desde otra máquina a través de SSH, use la opción -X para mostrar la interfaz gráfica en la máquina en la que está sentado (siempre que haya un servidor X ejecutándose allí (como xming para Windows y su Linux X estándar). servidor).


10
2018-03-19 14:36



debes habilitar Reenvío X11 en ti PuTTy

para hacerlo, abra PuTTY, vaya a Conexión => SSH => Túneles y marque la Habilitar el reenvío X11 

También sudo al servidor y exportar la siguiente variable aquí IP es la IP de su máquina local

export DISPLAY=10.75.75.75:0.0

enter image description here


5
2017-08-31 13:36



Una cosa más que podría ser el problema en un caso similar al descrito: X no se reenvía y $ DISPLAY no está configurado cuando el programa 'xauth' no está instalado en el lado remoto. Puede ver que lo busca cuando ejecuta "ssh -Xv ip_address" y, si no se encuentra, falla, lo que no se ve a menos que active el modo detallado (un error IMO). Por lo general, puede encontrar 'xauth' en un paquete con el mismo nombre.


4
2018-06-15 14:41



Muy fácil, tenía este mismo problema, entonces lo que hice fue descargar e instalar una aplicación que me ayudaría a visualizar y luego arreglé el error.

Descarga esta aplicación xming:

http://sourceforge.net/project/downloading.php?

Instalar, luego use la configuración en este enlace:

http://www.geo.mtu.edu/geoschem/docs/putty_install.html o sigue estos pasos:

Instalación / Configuración de PuTTy y Xming

Una vez que PuTTy y Xming se hayan descargado a la PC, instálelos de acuerdo con sus respectivas instrucciones.

Configurando Xming

Una vez que Xming esté instalado, ejecute la aplicación llamada 'XLaunch' y verifique que la configuración sea la que se muestra:

  • seleccione las entradas predeterminadas en las ventanas de Configuración de pantalla, haga clic en siguiente
  • haga clic en siguiente en la ventana Tipo de sesión.
  • haga clic en siguiente en la ventana Parámetros adicionales (la casilla de verificación del portapapeles es verdadera)
  • guarde la configuración y haga clic para finalizar.

Configurando PuTTy

Después de instalar PuTTy, haga doble clic en el ícono PuTTy en el escritorio y configúrelo como se muestra a continuación:

Esto muestra crear un perfil de inicio de sesión y luego guardarlo.

  • En ssh -> X11, haga clic en la casilla de verificación para habilitar el reenvío de X11.
  • en el cuadro de texto de la ubicación de visualización X, escriba localhost: 0.0

guarde el perfil y luego conéctese de forma remota al servidor para probar.

¡¡¡Aclamaciones!!!


1
2018-01-28 09:52



He tenido el mismo problema en Ubuntu 14.04.01 cuando traté de instalar JDK 8 y Netbeans si lanzo el script dentro de un terminal Byobu (tal vez con Screens sucede lo mismo).

Simplemente salga de Byobu y (en una terminal gráfica) ejecute el script.


0
2017-10-01 10:44



Comprobación inicial.

1) Cuando está exportando la PANTALLA a otra máquina, asegúrese de haber ingresado el comando xhost + en esa máquina. Este comando permite a otra máquina exportar su DISPLAY en esta máquina. Puede haber restricciones de seguridad, solo saber al respecto. Necesito comprobar ssh -X MachineIP no requerirá xhost + ?

2) Algunas veces JCONSOLE no mostrará todo su proceso, ya que esos procesos de JVM pueden ejecutarse con usuarios diferentes y usted está exportando la PANTALLA con otro usuario. así que es mejor seguir CD_DIR>sudo ./jconsole

3) En WAS (WEBSPHERE); jconsole no podrá conectar su proceso de servidor java, esa vez simplemente vaya hasta el enlace, luego intente conectarlo. Esto funcionó para mí. Puede ser que esta página esté inicializando algunas variables para permitir que jconsole se conecte con ese servidor.

Consola WAS> Servidores de aplicaciones> servidor1> Definición de proceso> Máquina virtual Java


He enfrentado el mismo problema con AIX (donde la interfaz de línea de comando solo está disponible, no hay una interfaz de usuario en la pantalla). Lo resolví instalando

NX Client para Windows

Paso 1: A través de esa máquina de Windows, me conecté con la caja de Unix donde está disponible la consola de GUI.
Paso 2: SSH a la caja de AIX desde esa caja de UNIX.
Paso 3: configure DISPLAY como "export DISPLAY = UNIXMACHINE: NXClientPORTConnectedMentionedOnTitle"
Paso 4: ahora si lanzamos cualquier programa que requiera DISPLAY; se lanzará en esta caja UNIX.

VNC

Si instaló VNC en el cuadro de UNIX donde la pantalla está disponible; entonces Windows y NX Client no son necesarios. Paso 1: Use VNC para conectarse con el cuadro Unix donde la consola GUI está disponible.
Paso 2: SSH a la caja de AIX desde esa caja de UNIX.
Paso 3: configure DISPLAY como "export DISPLAY = UNIXMACHINE: VNCPORT"
Paso 4: ahora si lanzamos cualquier programa que requiera DISPLAY; se lanzará en esta caja UNIX.

MÁS

Paso 1: SSH a la caja de AIX desde esa caja de UNIX.
Paso 2: configure DISPLAY como "export DISPLAY = UNIXMACHINE: VNCPORT"
Paso 3: ahora si lanzamos cualquier programa que requiera DISPLAY; se lanzará en esta caja UNIX.


0
2017-12-08 11:49