Geen X11 DISPLAY variabele – wat betekent het?

Ik probeer een Java-toepassing op mijn Linux-machine te installeren (Slackware).

Ik heb de volgende foutmelding ontvangen en ik begrijp deze niet.

Kunt u mij adviseren hoe ik het probleem kan aanpakken? Dank je.

Dit is wat ik krijg: (ik zie dat er een X11 DISPLAYvariabele moet worden ingesteld, maar welke waarde moet ik eraan geven en hoe?)

~$ 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)

Antwoord 1, autoriteit 100%

Als je op het hoofdscherm bent, dan

export DISPLAY=:0.0

of als je csh of tcsh gebruikt

setenv DISPLAY :0.0

voordat u uw app uitvoert.

Het verbaast me eigenlijk dat het niet automatisch wordt ingesteld. Probeert u deze toepassing te starten vanaf een niet-grafische terminal? Zo niet, heeft u de standaard .profile, .login, .bashrc of .cshrc gewijzigd?

Houd er rekening mee dat het instellen van het DISPLAY op :0.0 veronderstelt dat u op het hoofdscherm zit, zoals ik al zei, of in ieder geval dat het hoofdscherm is aangemeld met uw gebruikers-ID. Als het niet is aangemeld of een ander gebruikers-ID is, zal dit mislukken.

Als je vanaf een andere machine binnenkomt, en je bent op het hoofdscherm van die machine en het draait X, dan kun je “ssh -X hostname” gebruiken om verbinding te maken met die host, en ssh zal de X-weergave terug. ssh zal er ook voor zorgen dat de omgevingsvariabele DISPLAY correct is ingesteld (op voorwaarde dat er niet mee wordt geknoeid in de verschillende dot-bestanden die ik hierboven noemde). In een “ssh -X”-sessie heeft de omgevingsvariabele DISPLAY een waarde als “localhost:11.0”, die verwijst naar de socket die door ssh naar uw lokale box wordt getunneld.


Antwoord 2, autoriteit 8%

Voer je dit uit vanuit een X11-omgeving? U kunt een terminalvenster gebruiken, maar het moet binnen X zijn (na een grafische login of door startx uit te voeren).

Als u zich al in een grafische omgeving bevindt, probeer dan export DISPLAY=:0 voor bash-achtige shells (bash, sh, enz.) of setenv DISPLAY :0 voor op C-shell gebaseerde shells (csh, tcsh, enz.)

Als je verbinding hebt gemaakt vanaf een andere machine via SSH, gebruik je de optie -X om de grafische interface weer te geven op de computer waarop je zit (op voorwaarde dat daar een X-server draait (zoals xming voor Windows en je standaard Linux X-server).


Antwoord 3, autoriteit 8%

je moet X11 forwardinginschakelen in je PuTTy

om dit te doen open je PuTTy, ga naar Connection => SSH => Tunnelsen vink het vakje X11 forwarding inschakelen

. aan

Ook sudo naar server en exporteer de onderstaande variabele hier IP is het IP van uw lokale machine

export DISPLAY=10.75.75.75:0.0

voer hier de afbeeldingsbeschrijving in


Antwoord 4, autoriteit 4%

Er zijn veel manieren om dit te doen. Ik heb hieronder iets gedaan dat voor mij handig is en werkt altijd goed.

  1. Zorg ervoor dat u op uw externe server xorg-x11-xauth, xorg-x11-font-utils, xorg-x11-fonts installeert.
  2. Voer de Xming Server uit op uw lokale desktop
  3. Op putty, vóór ssh naar de server, schakel de X11-forwarding in en stel de weergavelocatie in op localhost:0.0
  4. Op de server wordt het .Xauthority-bestand gegenereerd en merk op dat de DISPLAY-variabele al is ingesteld.

    $ xauth-lijst

    $ xauth toevoegen

Typ xclock of xeyes om het te testen

Opmerking: om van gebruiker te wisselen, kopieert u het .Xauthority-bestand naar de homedirectory van de betreffende gebruiker en exporteert u ook de DISPLAY-variabele van die gebruiker.


Antwoord 5, autoriteit 3%

Nog één ding dat het probleem zou kunnen zijn in een geval zoals beschreven – X wordt niet doorgestuurd en $DISPLAY is niet ingesteld als het ‘xauth’-programma niet op de externe kant is geïnstalleerd. Je kunt zien dat het ernaar zoekt wanneer je “ssh -Xv ip_address” uitvoert en, als het niet wordt gevonden, mislukt, wat niet wordt gezien tenzij je de uitgebreide modus inschakelt (een mislukte IMO). Je kunt ‘xauth’ meestal vinden in een pakket met dezelfde naam.


Antwoord 6, autoriteit 2%

Heel eenvoudig. Had hetzelfde probleem, dan heb ik een app gedownload en geïnstalleerd die zou helpen bij het weergeven en vervolgens de fout verholpen.

Download deze app xming:

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

Installeer en gebruik vervolgens de instellingen op deze link:

http://www.geo.mtu.edu/geoschem/docs/ putty_install.htmlof volg deze stappen:

PuTTy en Xming installeren/configureren

Zodra PuTTy en Xming naar de pc zijn gedownload, installeert u het volgens hun respectievelijke instructies.

Xming configureren

Zodra Xming is geïnstalleerd, start u de applicatie genaamd ‘XLaunch’ en controleert u of de instellingen zijn zoals weergegeven:

  • selecteer standaarditems in de vensters met weergave-instellingen, klik op volgende
  • klik op volgende in het venster Sessietype.
  • klik op volgende in het venster Extra parameters (aanvinkvakje klembord is waar)
  • bewaar de configuratie en klik om te voltooien.

PuTTy configureren

Na het installeren van PuTTy, dubbelklik op het PuTTy-pictogram op het bureaublad en configureer zoals weergegeven:

Dit toont het maken van een inlogprofiel en vervolgens opslaan.

  • Op ssh -> X11, klik op het selectievakje om X11-doorsturen in te schakelen.
  • typ in het tekstvak voor de locatie van de X localhost:0.0

profiel opslaan en vervolgens op afstand verbinding maken met de server om te testen.

Proost!!!


Antwoord 7

Ik heb hetzelfde probleem gehad in Ubuntu 14.04.01 toen ik probeerde JDK 8 en Netbeans te installeren als ik het script in een Byobu-terminal start (misschien met Screens gebeurt hetzelfde).

Beëindig Byobu en voer (in een grafische terminal) het script uit.


Antwoord 8

Eerste controle.

1) Wanneer u de DISPLAY naar een andere machine exporteert, zorg er dan voor dat u de opdracht xhost +op die machine hebt ingevoerd. Met deze opdracht kunnen andere machines hun DISPLAY naar deze machine exporteren. Er kunnen beveiligingsbeperkingen zijn, weet het gewoon. Moet u controleren of ssh -X MachineIPxhost +niet vereist?

2) Soms zal JCONSOLEniet al zijn processen tonen, aangezien die JVM-processen met een andere gebruiker kunnen worden uitgevoerd en u het DISPLAY met een andere gebruiker exporteert. dus volg beter CD_DIR>sudo ./jconsole

3) In WAS (WEBSPHERE); jconsole kan zijn Java-serverproces niet verbinden, ga in die tijd gewoon naar de link en probeer het vervolgens te verbinden. Dit werkte voor mij. Het kan zijn dat deze pagina enkele variabelen initialiseert om jconsole in staat te stellen verbinding te maken met die server.

WAS-console > Applicatieservers > server1 > Procesdefinitie > Java virtuele machine


Ik heb hetzelfde probleem ondervonden met de AIX-machine (waar de opdrachtregelinterface alleen beschikbaar is, er is geen DISPLAY UI). Ik heb het opgelost door te installeren

NX-client voor Windows

Stap 1: Via die Windows-machine maakte ik verbinding met de Unix-box waar de GUI-console beschikbaar is.
Stap 2: SSH naar de AIX-box van die UNIX-box.
Stap 3: stel DISPLAY in als “export DISPLAY=UNIXMACHINE:NXClientPORTConnectedMentionedOnTitle”
Stap 4: Als we nu programma’s starten waarvoor DISPLAY vereist is; het wordt gelanceerd op deze UNIX-box.

VNC

Als u VNC op UNIX-box hebt geïnstalleerd waar weergave beschikbaar is; dan is Windows en NX Client niet vereist.
Stap 1: Gebruik VNC om verbinding te maken met Unix-box waar de GUI-console beschikbaar is.
Stap 2: SSH naar de AIX-box van die UNIX-box.
Stap 3: stel DISPLAY in als “export DISPLAY=UNIXMACHINE:VNCPORT”
Stap 4: Als we nu programma’s starten waarvoor DISPLAY vereist is; het wordt gelanceerd op deze UNIX-box.

ELSE

Stap 1: SSH naar de AIX-box vanuit die UNIX-box.
Stap 2: stel DISPLAY in als “export DISPLAY=UNIXMACHINE:VNCPORT”
Stap 3: Als we nu programma’s starten waarvoor DISPLAY vereist is; het wordt gelanceerd op deze UNIX-box.


Antwoord 9

Voor degenen die proberen een X Window-toepassing te laten werken vanuit Windows vanuit Linux:

Wat voor mij werkte, was om de xming-server op mijn Windows-machine in te stellen, de X11-doorstuuroptie in stopverf in te stellen wanneer ik verbinding maakte met de linux-host en mijn Windows-IP-adres in te voeren met de displayport en vervolgens de displayvariabele met mijn Windows-IP adres:0.0

Vergeet niet het IP-adres van de linux hosts toe te voegen aan het X0.hosts-bestand om er zeker van te zijn dat de xming-server verkeer van die host accepteert. Het kostte me een tijdje om dat uit te zoeken.


Antwoord 10

Vergeet niet om “host +” uit te voeren op uw “home” display-machine, en wanneer u ssh naar de machine doet, doet u “ssh -x hostname”

LEAVE A REPLY

Please enter your comment!
Please enter your name here

four − 1 =

Other episodes