J'essaye d'installer une application Java sur ma machine Linux (Slackware).
J'ai reçu l'erreur suivante et je ne la comprends pas.
Pouvez-vous me conseiller comment aborder le problème? Je vous remercie.
Voici ce que j'obtiens: (Je vois qu'une variable X11 DISPLAY doit être définie, mais quelle valeur dois-je lui donner et comment?)
~$ 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)
Réponses:
Si vous êtes sur l'écran principal, alors
ou si vous utilisez csh ou tcsh
avant d'exécuter votre application.
En fait, je suis surpris qu'il ne soit pas réglé automatiquement. Essayez-vous de démarrer cette application à partir d'un terminal non graphique? Sinon, avez-vous modifié le .profile, .login, .bashrc ou .cshrc par défaut?
Notez que régler l'AFFICHAGE sur: 0.0 suppose que vous êtes assis à l'écran principal, comme je l'ai dit, ou du moins que l'écran principal est connecté à votre identifiant d'utilisateur. S'il n'est pas connecté ou s'il s'agit d'un ID utilisateur différent, cela échouera.
Si vous venez d'une autre machine et que vous êtes sur l'écran principal de cette machine et qu'elle exécute X, vous pouvez utiliser "ssh -X hostname" pour vous connecter à cet hôte, et ssh retransmettra l'affichage X . ssh s'assurera également que la variable d'environnement DISPLAY est correctement définie (à condition qu'elle ne soit pas perturbée dans les différents fichiers de points mentionnés ci-dessus). Dans une session "ssh -X", la variable d'environnement DISPLAY aura une valeur comme "localhost: 11.0", qui pointera vers le socket que ssh tunnelise vers votre boîte locale.
la source
Exécutez-vous cela à partir d'un environnement X11? Vous pouvez utiliser une fenêtre de terminal, mais elle doit être dans X (soit après une connexion graphique, soit en exécutant startx).
Si vous êtes déjà dans un environnement graphique, essayez d'exporter DISPLAY =: 0 pour les shells comme bash (bash, sh, etc.) ou setenv DISPLAY: 0 pour les shells basés sur le shell C (csh, tcsh, etc.)
Si vous vous êtes connecté depuis une autre machine via SSH, vous utilisez l'option -X pour afficher l'interface graphique sur la machine sur laquelle vous êtes assis (à condition qu'il y ait un serveur X en cours d'exécution là-bas (comme xming pour Windows, et votre Linux X standard serveur).
la source
export DISPLAY=:0
vous devez activer le transfert X11 dans votre PuTTy
pour ce faire, ouvrez PuTTy, allez dans Connection => SSH => Tunnels et cochez la case Enable X11 forwarding
Également sudo vers le serveur et exportez la variable ci-dessous ici IP est l'adresse IP de votre machine locale
la source
Une autre chose qui pourrait être le problème dans un cas similaire à celui décrit - X n'est pas transmis et $ DISPLAY n'est pas défini lorsque le programme 'xauth' n'est pas installé sur le côté distant. Vous pouvez voir qu'il le recherche lorsque vous exécutez "ssh -Xv adresse_ip", et, s'il n'est pas trouvé, échoue, ce qui n'est pas vu à moins que vous n'activiez le mode verbeux (un échec IMO). Vous pouvez généralement trouver «xauth» dans un package du même nom.
la source
Très facile, j'ai eu le même problème, puis j'ai téléchargé et installé une application qui aiderait à afficher, puis j'ai corrigé l'erreur.
Téléchargez cette application xming:
http://sourceforge.net/project/downloading.php ?
Installez, puis utilisez les paramètres sur ce lien:
http://www.geo.mtu.edu/geoschem/docs/putty_install.html ou suivez ces étapes:
Installation / configuration de PuTTy et Xming
Une fois que PuTTy et Xming ont été téléchargés sur le PC, installez-les selon leurs instructions respectives.
Configurer Xming
Une fois Xming installé, exécutez l'application appelée 'XLaunch' et vérifiez que les paramètres sont comme indiqué:
Configurer PuTTy
Après avoir installé PuTTy, double-cliquez sur l'icône PuTTy sur le bureau et configurez comme indiqué:
Cela montre la création d'un profil de connexion puis son enregistrement.
enregistrez le profil puis connectez-vous à distance au serveur pour tester.
À votre santé!!!
la source
Il existe de nombreuses façons de procéder. J'ai fait quelque chose ci-dessous qui me convenait et fonctionne toujours bien.
Sur le serveur, le fichier .Xauthority est généré et notez que la variable DISPLAY est déjà définie.
$ xauth liste
$ xauth ajouter
Pour le tester, tapez xclock ou xeyes
Remarque : pour changer d'utilisateur, copiez le fichier .Xauthority dans le répertoire personnel de l'utilisateur respectif et exportez également la variable DISPLAY de cet utilisateur.
la source
J'ai eu le même problème dans Ubuntu 14.04.01 lorsque j'ai essayé d'installer JDK 8 et Netbeans si je lance le script dans un terminal Byobu (peut-être qu'avec Screens, cela se passe de la même manière).
Quittez simplement Byobu et (dans un terminal graphique) exécutez le script.
la source
Vérification initiale.
1) Lorsque vous exportez l'AFFICHAGE vers une autre machine, assurez-vous d'avoir entré la commande
xhost +
sur cette machine. Cette commande permet à une autre machine d'exporter leur AFFICHAGE sur cette machine. Il peut y avoir des contraintes de sécurité, sachez-le. Besoin de vérifierssh -X MachineIP
ne nécessitera pasxhost +
?2) Parfois
JCONSOLE
, ne montrera pas tout son processus, car ces processus JVM peuvent s'exécuter avec un utilisateur différent et vous exportez l'AFFICHAGE avec un autre utilisateur. donc mieux suivreCD_DIR>sudo ./jconsole
3) Dans WAS (WEBSPHERE); jconsole ne pourra pas connecter son processus de serveur java, cette fois-ci, allez jusqu'au lien, puis essayez de le connecter. Cela a fonctionné pour moi. Peut-être que cette page initialise certaines variables pour permettre à jconsole de se connecter à ce serveur.
Console WAS> Serveurs d'applications> serveur1> Définition de processus> Machine virtuelle Java
J'ai rencontré le même problème avec la machine AIX (où l'interface de ligne de commande est uniquement disponible, il n'y a pas d'interface utilisateur d'affichage). J'ai résolu en installant
Étape 1: Grâce à cette machine Windows, je me suis connecté avec une boîte unix où la console GUI est disponible.
Étape 2: SSH à la boîte AIX à partir de cette boîte UNIX.
Étape 3: définissez DISPLAY comme "export DISPLAY = UNIXMACHINE: NXClientPORTConnectedMentionedOnTitle"
Étape 4: Maintenant, si nous lançons des programmes qui nécessitent DISPLAY; il sera lancé sur cette box UNIX.
Si vous avez installé VNC sur la boîte UNIX où l'affichage est disponible; alors Windows et NX Client ne sont pas nécessaires. Étape 1: Utilisez VNC pour vous connecter à la boîte Unix où la console GUI est disponible.
Étape 2: SSH à la boîte AIX à partir de cette boîte UNIX.
Étape 3: réglez DISPLAY comme "export DISPLAY = UNIXMACHINE: VNCPORT"
Étape 4: Maintenant, si nous lançons des programmes qui nécessitent DISPLAY; il sera lancé sur cette box UNIX.
AUTRE
Étape 1: SSH vers la boîte AIX à partir de cette boîte UNIX.
Étape 2: réglez DISPLAY comme "export DISPLAY = UNIXMACHINE: VNCPORT"
Étape 3: Maintenant, si nous lançons des programmes qui nécessitent DISPLAY; il sera lancé sur cette box UNIX.
la source
Pour ceux qui essaient de faire fonctionner une application X Window à partir de Windows à partir de Linux:
Ce qui a fonctionné pour moi a été de configurer le serveur xming sur ma machine Windows, de définir l'option de transfert X11 dans putty lorsque je me connecte à l'hôte Linux et de mettre mon adresse IP Windows avec le port d'affichage, puis la variable d'affichage avec mon adresse IP Windows: 0.0
N'oubliez pas d'ajouter l'adresse IP de l'hôte Linux au fichier X0.hosts pour vous assurer que le serveur xming accepte le trafic de cet hôte. Il m'a fallu un certain temps pour comprendre cela.
la source
N'oubliez pas d'exécuter "host +" sur votre machine d'affichage "home", et lorsque vous ssh sur la machine vous faites "ssh -x hostname"
la source