Java Impossible de se connecter au serveur de fenêtre X11 en utilisant ‘localhost: 10.0’ comme valeur de la variable DISPLAY

J’ai un script utilisant java pour me connecter à afficher X11 dans le port 10.0 à localhost

mais je reçois toujours cette erreur

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.(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.(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) 

J’ai tout essayé pour résoudre ce problème comme:

 export DISPLAY=:10.0 export DISPLAY=localhost:10.0 

J’ai aussi essayé le port 0.0 mais je reçois toujours la même erreur

après avoir essayé xhost

 xhost +local:all xhost: unable to open display "" xhost: unable to open display ":10.0" 

comment puis-je résoudre ce problème, je pensais que le serveur X ne fonctionne pas, donc j’ai essayé startx sa dit son exécution sur ce port

mon système est Ubuntu server edition 10.04

Cette commande m’a aidé à résoudre le problème:

 export DISPLAY=:0 

Vous devez spécifier le paramètre -Djava.awt.headless=true au démarrage.

Supprimer la variable DISPLAY

 unset DISPLAY 

Cela aide dans la plupart des cas (par exemple, le démarrage de serveurs d’applications ou d’autres outils basés sur Java) et évite de modifier toutes ces lignes de commande.

Il peut également être pratique de l’append au fichier .bash_profile pour un utilisateur dédié serveur d’applications / outils.

Je pense que vous travaillez en mode sudo.Veuillez vérifier le mode utilisateur et réessayer

Si quelqu’un essaye d’exécuter les tests unitaires automatisés via le plugin maven-surefire sur CI (jenkins, ..), et d’obtenir l’erreur mentionnée ci-dessus, veillez à mettre à jour la configuration de votre plugin surefire:

  org.apache.maven.plugins maven-surefire-plugin ${maven-surefire-plugin.version}   true    

Cela va le réparer:

 /usr/bin/java -Djava.awt.headless=true $Your_program 

Pour moi, la connexion en tant que -Y au lieu de -X a fonctionné.

Si vous avez un X11 non fiable comme indiqué ci-dessous, alors essayez -Y flag au lieu de cela (si vous faites confiance à l’hôte):

Avertissement : la configuration du transfert X11 non fiable a échoué: données de clé xauth non générées

Après plusieurs jours d’efforts futiles d’installation de fishfish sur framboise pi 2 avec fedora 22 sans tête, Ci-dessous travaillé pour moi sans accroc

  unset DISPLAY java -Djava.awt.headless=true -jar glassfissh-installer-v2ur2-b04-linux.jar 

eu mon aide d’ ici

Tout d’abord: lancez XQuartz

Deuxièmement: ssh -X utilisateur @ ip_address

…: lancez votre processus

si vous ssh puis démarrez XQuartz, vous obtiendrez cette erreur

Dans mon cas, il n’y avait plus de place dans ma machine et j’ai été confronté au même problème. Parfois, cela pourrait être la question de l’espace. Vérifiez l’espace dans votre environnement Linux / Unix et assurez-vous que votre ordinateur dispose de suffisamment d’espace.

J’utilisais Xming et j’ai eu une erreur similaire. Les mesures suivantes ont été sockets pour résoudre le problème:

  1. Au lancement de Xming, cochez la case Aucun contrôle d’access.
  2. Dans putty a couru la commande suivante: DISPLAY=XXX.XXX.XXX.XX:0.0; export DISPLAY DISPLAY=XXX.XXX.XXX.XX:0.0; export DISPLAY

Remplacez XXX.XXX.XXX.XX par votre adresse IP.

le seul moyen de le faire fonctionner était de lancer le script avec un modèle. Par exemple sudo ./glassfish-3.1.2.2-unix.sh -s template

Cela installe Glassfish en mode silencieux. http://docs.oracle.com/cd/E18930_01/html/821-2427/ghmva.html

Je rencontre la même erreur avec vous lorsque je lance la commande jconsole à distance. Je veux modifier un paramètre à jconsole qui s’exécute sur un hôte Linux distant, je peux me connecter à l’hôte à l’aide de secureCRT, le terminal jette ces informations d’erreur. Heureusement, quand on utilise le mastic, ça va. Bizarre….

Si vous voyez cette erreur dans Hudson, essayez de supprimer le répertoire .java de votre répertoire personnel, cela peut fonctionner pour vous.

Si vous lancez l’application sur un serveur distant alors que vous êtes connecté par ssh, une autre méthode consiste à démarrer ssh avec le paramètre -x ou d’append ForwardX11 no à ForwardX11 no dans votre /etc/ssh/ssh_config . Dans ce cas, ssh ne créera pas de variable d’environnement DISPLAY.

Michael-O a donné une approche utile pour résoudre le problème. Une autre façon de résoudre ce problème est de démarrer le serveur avec Putty Console.

Si vous déclenchez votre code à partir de Jenkins, activer l’option “Démarrer Xvfb avant la construction et l’arrêter après” peut aider. Ça m’a aidé.

changez pour un autre utilisateur et essayez sauf root. ça marche pour moi.

Je ne me suis tout simplement pas déconnecté de root avant de lancer ./studio.sh.

Pour Ubuntu 17.10 Installer le tampon de trame virtuelle X (xvfb)

 apt install xvfb 

Et ajouté ces lignes au fichier / etc / profile …

 # Start the X virtual frame buffer (Xvfb) if [ -f /usr/X11R6/bin/Xvfb ]; then /usr/X11R6/bin/Xvfb :1 -screen 0 1366x768x32 fi # Set the DISPLAY variable for the X virtual frame buffer (Xvfb) export DISPLAY=localhost:1.0 

Pour moi, le problème était que xorg-x11-xauth n’était pas installé. Je l’ai installé et ensuite cela a fonctionné.

Les paquets que j’ai maintenant sont:

  • libX11-common-1.6.3-2.el6.noarch
  • libX11-1.6.3-2.el6.i686
  • libX11-1.6.3-2.el6.x86_64
  • xorg-x11-drv-ati-firware-7.6.1-2.el6.noarch
  • xorg-x11-xauth-1.0.9-1.el6.x86_64