Tengo un script que usa java para conectarme para mostrar X11 en el puerto 10.0 en localhost
pero siempre obtengo este error
java.lang.InternalError: Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:62)
at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:178)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:142)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:112)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at java.awt.Toolkit$2.run(Toolkit.java:849)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:841)
at ij.io.Opener.openJpegOrGif(Opener.java:367)
at ij.io.Opener.openImage(Opener.java:220)
at ij.io.Opener.openImage(Opener.java:249)
at ij.io.Opener.open(Opener.java:116)
at ij.IJ.open(IJ.java:1112)
at ij.macro.Functions.open(Functions.java:2006)
at ij.macro.Functions.doFunction(Functions.java:129)
at ij.macro.Interpreter.doStatement(Interpreter.java:205)
at ij.macro.Interpreter.doBlock(Interpreter.java:515)
at ij.macro.Interpreter.runUserFunction(Interpreter.java:278)
at ij.macro.Interpreter.getFactor(Interpreter.java:1200)
at ij.macro.Interpreter.getTerm(Interpreter.java:1162)
at ij.macro.Interpreter.getExpression(Interpreter.java:1145)
at ij.macro.Interpreter.getBooleanExpression(Interpreter.java:881)
at ij.macro.Interpreter.getLogicalExpression(Interpreter.java:857)
at ij.macro.Interpreter.getBoolean(Interpreter.java:850)
at ij.macro.Interpreter.doIf(Interpreter.java:829)
at ij.macro.Interpreter.doStatement(Interpreter.java:217)
at ij.macro.Interpreter.doBlock(Interpreter.java:515)
at ij.macro.Interpreter.doStatement(Interpreter.java:241)
at ij.macro.Interpreter.doIf(Interpreter.java:831)
at ij.macro.Interpreter.doStatement(Interpreter.java:217)
at ij.macro.Interpreter.doStatements(Interpreter.java:195)
at ij.macro.Interpreter.run(Interpreter.java:99)
at ij.macro.Interpreter.run(Interpreter.java:65)
at ij.macro.Interpreter.run(Interpreter.java:75)
at ij.plugin.Macro_Runner.runMacro(Macro_Runner.java:127)
at ij.plugin.Macro_Runner.runMacroFile(Macro_Runner.java:112)
at ij.IJ.runMacroFile(IJ.java:103)
at ij.ImageJ.main(ImageJ.java:517)
He intentado todo para resolver este problema como:
export DISPLAY=:10.0
export DISPLAY=localhost:10.0
Probé también el puerto 0.0 pero siempre obtengo el mismo error
después de probar xhost
xhost +local:all
xhost: unable to open display ""
xhost: unable to open display ":10.0"
¿Cómo puedo solucionar esto? Pensé que el servidor X no se está ejecutando, así que lo intenté, startx
dice que está funcionando en ese puerto
mi sistema es Ubuntu Server Edition 10.04
unset DISPLAY
me ayudó (conexport DISPLAY=:0
recibí el errorCan't connect to X11 window server using ':0'
Debe especificar el
-Djava.awt.headless=true
parámetro en el momento del inicio.fuente
ij.io.Opener.openJpegOrGif
, podemos adivinar que probablemente requiera una GUI. Así que sin cabeza daría lugar a otro error:java.awt.HeadlessException
.Eliminar la variable DISPLAY
Esto ayuda en la mayoría de los casos (por ejemplo, iniciar servidores de aplicaciones u otras herramientas basadas en Java) y evita modificar tantas líneas de comando.
También puede ser cómodo agregarlo al .bash_profile para un usuario de herramientas / servidor de aplicaciones dedicado.
fuente
Creo que estás trabajando en modo sudo. Por favor, ingresa al modo de usuario e inténtalo de nuevo.
fuente
En caso de que alguien intente ejecutar las pruebas unitarias automatizadas a través de maven-surefire-plugin en CI (jenkins, ..) y obtenga el error mencionado anteriormente, asegúrese de actualizar la configuración de su complemento surefire:
fuente
Esto lo arreglará:
fuente
Para mí, iniciar sesión como -Y en lugar de -X funcionó.
En caso de que tenga X11 que no es de confianza como se muestra a continuación, intente con la marca -Y en su lugar (si confía en el host):
Advertencia : la configuración de reenvío X11 no confiable falló: los datos de la clave xauth no se generaron
fuente
Después de varios días de esfuerzo inútil de instalar glassfish en raspberry pi 2 con fedora 22 sin cabeza, Below funcionó para mí sin problemas
obtuve mi ayuda de aqui
fuente
Primero: inicie XQuartz
Segundo: ssh -X user @ ip_address
...: inicie su proceso
si ssh y luego inicia XQuartz obtendrá ese error
fuente
Primero haga esto en la fase de compilación de Jenkins si usa o configura en / etc / profile:
luego configure esta propiedad en código java o usando maven: -Djava.awt.headless = false
fuente
Esto solucionó mi problema
pero tenga en cuenta que
xhost +
desactiva completamente la autenticación y permite que todos accedan a todas las aplicaciones en su pantalla.xhost +si:localuser:root
parece funcionar de manera similar con la autenticación adecuada.fuente
Estaba usando Xming y obtuve un error similar. Se tomaron los siguientes pasos para solucionar el problema:
DISPLAY=XXX.XXX.XXX.XX:0.0; export DISPLAY
Reemplace
XXX.XXX.XXX.XX
con su dirección IP.fuente
Resuelto. ¡Acabo de cerrar la sesión e iniciar sesión con xorg!
fuente
Si está intentando exportar la pantalla con su y aún no funciona. Esto es lo que funcionó para mí. Pruebe el reenvío X11 para usuarios de sudo.
Conecte el host remoto usando la opción -X con ssh.
Ahora enumere el juego de coockie para el usuario actual.
Cambie a otra cuenta de usuario usando sudo. Agregue la cookie del resultado del comando anterior al usuario sudo.
Vuelva a exportar la pantalla del paso 2 para el usuario de sudo. Pruebe el comando xclock para verificar si las aplicaciones cliente x funcionan como se esperaba.
fuente: https://www.thegeekdiary.com/how-to-set-x11-forwarding-export-remote-display-for-users-who-switch-accounts-using-sudo/
fuente
Si ve este error en Hudson, intente eliminar el directorio .java de su directorio de inicio, puede funcionar para usted.
fuente
Michael-O dio un enfoque útil para resolver el problema. Otra forma de resolver esto es iniciando el servidor con Putty Console.
fuente
En mi caso, no quedaba espacio en mi máquina y me enfrenté al mismo problema. Algunas veces podría ser el problema del espacio. Verifique el espacio en su entorno Linux / Unix y asegúrese de que su máquina tenga suficiente espacio.
fuente
verifique si la variable $ DISPLAY está configurada o no, con el siguiente comando:
echo $ DISPLAY
si la variable de visualización no está configurada, ejecute el siguiente comando para configurarla (incluso si está configurada, puede tener una debajo para su sesión)
exportar DISPLAY =: 0.0
en masilla también tienen la ubicación de visualización x como: 0.0
fuente
la única forma en que lo hice funcionar fue ejecutando el script con una plantilla. por ejemplo, sudo ./glassfish-3.1.2.2-unix.sh -s template
Esto instala Glassfish en modo silencioso. http://docs.oracle.com/cd/E18930_01/html/821-2427/ghmva.html
fuente
Me encuentro con el mismo error con usted cuando ejecuto el comando jconsole en el control remoto. Quiero modificar un parámetro en jconsole que se ejecuta en un host Linux remoto, puedo iniciar sesión en el host, usar secureCRT, el terminal arroja esta información de error. Afortunadamente, cuando se usa Putty, está bien. Extraño....
fuente
Si inicia la aplicación en un servidor remoto mientras está conectado con ssh, otra forma sería iniciar ssh con el
-x
parámetro o agregarForwardX11 no
su archivo/etc/ssh/ssh_config
. En este caso, ssh no creará la variable de entorno DISPLAY.fuente
Para mí, el problema fue que xorg-x11-xauth no estaba instalado. Lo instalé y luego funcionó.
Los paquetes que tengo ahora son:
fuente
Si está activando su código desde Jenkins, habilitar la opción "Iniciar Xvfb antes de la compilación y apagarlo después" podría ayudar. Me ayudó.
fuente
cambie a otro usuario e intente excepto root. esto funciona para mi.
fuente
Simplemente no me desconecté de la raíz antes de ejecutar ./studio.sh Todo listo.
fuente
Para Ubuntu 17.10 Instale X virtual frame buffer (xvfb)
Y agregué estas líneas al archivo / etc / profile ...
fuente
En mi caso, este error no estaba relacionado con el puerto DISPLAY. Estaba intentando cargar un XML en Windchill (un software PLM) y solo recibí el error anterior en la terminal. En un archivo de registro encontré el informe de que mi archivo XML estaba dañado . Quizás alguien tenga un problema similar y pueda usar esta respuesta.
fuente
El problema mío era el cortafuegos. Lo desactivó temporalmente.
[EDITAR] Y, el nombre de host del servidor apuntaba a otra IP. Configúrelo simplemente como servidor local.
strace xclock
ayudó a depurar este problema.fuente
He solucionado este problema al iniciar sesión con Xorg. Por defecto, he usado Wayland. Parece que Wayland elimina la mayoría de los defectos de diseño del Xorg, tiene sus propios problemas.
fuente
Para mí, nada de lo anterior funcionó, pero después de una larga búsqueda, esto funcionó para mí.
fuente