J'ai un script utilisant java pour me connecter pour afficher X11 dans le port 10.0 à localhost
mais j'obtiens 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.<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)
J'ai tout essayé pour résoudre ce problème comme:
export DISPLAY=:10.0
export DISPLAY=localhost:10.0
J'ai essayé aussi le port 0.0 mais j'obtiens 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 fonctionnait pas, alors j'ai essayé startx
qu'il s'exécute sur ce port
mon système est l'édition 10.04 du serveur Ubuntu
unset DISPLAY
m'a aidé (avecexport DISPLAY=:0
j'ai eu l'erreurCan't connect to X11 window server using ':0'
Vous devez spécifier le
-Djava.awt.headless=true
paramètre au démarrage.la source
ij.io.Opener.openJpegOrGif
, on peut deviner que cela nécessite probablement une interface graphique. Donc sans tête se traduirait par une autre erreur:java.awt.HeadlessException
.Supprimer la variable 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 autant de lignes de commande.
Il peut également être confortable de l'ajouter au .bash_profile pour un utilisateur dédié du serveur d'applications / des outils.
la source
Je pense que vous travaillez en mode sudo.Veuillez passer en mode utilisateur et réessayer
la source
Si quelqu'un essaie d'exécuter les tests unitaires automatisés via maven-surefire-plugin sur CI (jenkins, ..), et obtient l'erreur mentionnée ci-dessus, assurez-vous de mettre à jour la configuration de votre plugin infaillible:
la source
Cela résoudra le problème:
la source
Pour moi, la connexion en tant que -Y au lieu de -X a fonctionné.
Si vous avez un X11 non approuvé comme indiqué ci-dessous, essayez plutôt l'option -Y (si vous faites confiance à l'hôte):
Avertissement : la configuration du transfert X11 non approuvée a échoué: les données de clé xauth ne sont pas générées
la source
Après plusieurs jours d'efforts vains d'installation de Glassfish sur Raspberry Pi 2 avec fedora sans tête 22, ci-dessous a travaillé pour moi sans accroc
obtenu mon aide d' ici
la source
Premièrement: démarrez XQuartz
Deuxième: ssh -X utilisateur @ adresse_ip
...: démarrez votre processus
si vous ssh puis démarrez XQuartz, vous obtiendrez cette erreur
la source
Cela a résolu mon problème
mais sachez que cela
xhost +
désactive complètement l'authentification et permet à tout le monde d'accéder à toutes les applications sur votre écran.xhost +si:localuser:root
semble fonctionner de la même manière avec une authentification appropriée.la source
J'utilisais Xming et j'ai eu une erreur similaire. Les étapes suivantes ont été prises pour résoudre le problème:
DISPLAY=XXX.XXX.XXX.XX:0.0; export DISPLAY
Remplacez
XXX.XXX.XXX.XX
par votre adresse IP.la source
Commencez par faire ceci soit dans la phase de construction de Jenkins si vous utilisez, soit dans / etc / profile:
puis définissez cette propriété en code java ou en utilisant maven: -Djava.awt.headless = false
la source
Résolu. Je viens de me déconnecter et de me connecter avec xorg!
la source
Michael-O a donné une approche utile pour résoudre le problème. Une autre façon de résoudre ce problème consiste à démarrer le serveur avec Putty Console.
la source
Dans mon cas, il n'y avait plus d'espace dans ma machine et j'ai été confronté au même problème. Parfois, cela pourrait être le problème de l'espace. Vérifiez l'espace dans votre environnement Linux / Unix et assurez-vous que votre machine dispose de suffisamment d'espace.
la source
Si vous essayez d'exporter l'affichage à l'aide de su et que cela ne fonctionne toujours pas. C'est ce qui a fonctionné pour moi. Essayez le transfert X11 pour les utilisateurs sudo.
Connectez l'hôte distant à l'aide de l'option -X avec ssh.
Maintenant, listez le jeu de coockie pour l'utilisateur actuel.
Basculez vers un autre compte utilisateur en utilisant sudo. Ajoutez le cookie de la sortie de commande ci-dessus à l'utilisateur sudo.
Exportez à nouveau l'affichage de l'étape 2 pour l'utilisateur sudo. Essayez la commande xclock pour vérifier si les applications client x fonctionnent comme prévu.
source: https://www.thegeekdiary.com/how-to-set-x11-forwarding-export-remote-display-for-users-who-switch-accounts-using-sudo/
la source
vérifiez si la variable $ DISPLAY est définie ou non, avec la commande ci-dessous:
echo $ DISPLAY
si la variable d'affichage n'est pas définie, exécutez la commande ci-dessous pour définir, (même si elle est définie, vous pouvez en avoir en dessous pour votre session)
export DISPLAY =: 0.0
dans le mastic ont également l'emplacement d'affichage x comme: 0.0
la source
la seule façon dont je l'ai fait fonctionner était d'exécuter le script avec un modèle. par exemple, modèle sudo ./glassfish-3.1.2.2-unix.sh -s
Cela installe Glassfish en mode silencieux. http://docs.oracle.com/cd/E18930_01/html/821-2427/ghmva.html
la source
Je rencontre la même erreur avec vous lorsque j'exécute la commande jconsole à distance. Je souhaite modifier un paramètre sur jconsole qui s'exécute sur un hôte Linux distant, je peux me connecter à l'hôte en utilisant secureCRT, le terminal jette ces informations d'erreur. Heureusement, lorsque vous utilisez le mastic, tout va bien. Bizarre....
la source
Si vous voyez cette erreur dans Hudson, essayez de supprimer le répertoire .java de votre répertoire personnel, cela peut fonctionner pour vous.
la source
Si vous démarrez l'application sur un serveur distant alors que vous êtes connecté par ssh, une autre façon serait de démarrer ssh avec le
-x
paramètre ou d'ajouterForwardX11 no
votre fichier/etc/ssh/ssh_config
. Dans ce cas, ssh ne créera pas la variable d'environnement DISPLAY.la source
Si vous déclenchez votre code à partir de Jenkins, l'activation de l'option «Démarrer Xvfb avant la compilation et l'arrêter après» peut aider. Ça m'a aidé.
la source
passez à un autre utilisateur et essayez sauf root. ça marche pour moi.
la source
Je ne me suis tout simplement pas déconnecté de root avant de lancer ./studio.sh Tout est réglé.
la source
Pour Ubuntu 17.10, installez le tampon de trame virtuel X (xvfb)
Et ajouté ces lignes au fichier / etc / profile ...
la source
Dans mon cas, cette erreur n'était pas liée au port DISPLAY. J'essayais de charger un XML dans Windchill (un logiciel PLM) et je n'ai reçu que l'erreur ci-dessus sur le terminal. Dans un fichier journal, j'ai trouvé le rapport indiquant que mon fichier XML était corrompu . Peut-être que quelqu'un a un problème similaire et peut utiliser cette réponse.
la source
Le mien problème était avec le pare-feu. Désactivé temporairement.
[EDIT] Et, le nom d'hôte du serveur pointait vers une autre adresse IP. Réglez-le simplement sur localserver.
strace xclock
aidé à déboguer ce problème.la source
J'ai résolu ce problème en me connectant à l'aide de Xorg. Par défaut, j'ai utilisé Wayland. Il semble que Wayland élimine la plupart des défauts de conception du Xorg, il a ses propres problèmes.
la source
Pour moi, le problème était que xorg-x11-xauth n'était pas installé. Je l'ai installé et cela a fonctionné.
Les packages que j'ai maintenant sont:
la source