2016-06-15 16 views
9

Il sito principale di DCEVM non ha spiegato chiaramente come installare DCEVM su Linux. L'esecuzione di "java -jar installer.jar" in Linux (quando si accede tramite PuTTy) mi ha dato la seguente eccezione.Come installare DCEVM per Java 7 in Linux?

[[email protected] jdk1.7.0_55]$ java -jar DCEVM-full-7u79-installer.jar 
java.awt.HeadlessException: 
No X11 DISPLAY variable was set, but this program performed an operation which requires it. 
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207) 
at java.awt.Window.<init>(Window.java:535) 
at java.awt.Frame.<init>(Frame.java:420) 
at javax.swing.JFrame.<init>(JFrame.java:224) 
at com.github.dcevm.installer.MainWindow.<init>(MainWindow.java:43) 
at com.github.dcevm.installer.Main.main(Main.java:46) 
Exception in thread "main" java.awt.HeadlessException: 
No X11 DISPLAY variable was set, but this program performed an operation which requires it. 
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207) 
at java.awt.Window.<init>(Window.java:535) 
at java.awt.Frame.<init>(Frame.java:420) 
at java.awt.Frame.<init>(Frame.java:385) 
at javax.swing.SwingUtilities$SharedOwnerFrame.<init>(SwingUtilities.java:1757) 
at javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:1832) 
at javax.swing.JOptionPane.getRootFrame(JOptionPane.java:1697) 
at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:863) 
at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:667) 
at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:638) 
at com.github.dcevm.installer.Main.main(Main.java:51) 

Se necessario, sono anche pronto per l'uso di un Virtual Box installato Linux Desktop per provarlo, che poi posso copiare (patchato JDK) nella mia scatola originale di Linux da allora in poi.

Quindi, come posso installare DCEVM su Linux (per Java 7)? Ho bisogno di un Linux basato su desktop per questo?


EDIT: Ecco l'output di alcuni comandi suggeriti dalla prima risposta da Sharad:

[[email protected] jdk1.7.0_55]$ echo $DISPLAY 

[[email protected] jdk1.7.0_55]$ java -version 
java version "1.7.0_55" 
Java(TM) SE Runtime Environment (build 1.7.0_55-b13) 
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode) 


EDIT2: Sto usando DCEVM in Windows per un periodo piuttosto lungo.

risposta

4

La variabile DISPLAY viene impostata solo quando una sessione X11 è attivo. Quando si effettua il login su una macchina remota con ssh, questo di solito non è il caso.

ci sono due soluzioni possibili:

  • installare un server X su Windows (ad esempio XMing) e consentire l'inoltro X11 nella sessione del mastice (Collegamento> SSH> X11). Questo mostrerà l'installer sul tuo PC Windows.
  • accedere sull'host Linux in una sessione grafica, questo imposterà automaticamente la variabile DISPLAY.
+0

Sono in grado di eseguire il jar in una sessione grafica di Linux. Grazie per l'aiuto. – KrishPrabakar

5

Fase 1: - Controllare la variabile di visualizzazione impostato sulla vostra macchina utilizzando eco

echo $DISPLAY 

assicurarsi che sia impostato su: 0

Fase 2: -Controllare per la versione Java utilizzando

java -version 

La mia macchina CentOS sta riflettendo: -

openjdk version "1.8.0_91" 
OpenJDK Runtime Environment (build 1.8.0_91-b14) 
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode) 

Passo 3: - Corro java -jar DCEVM-full-7u79-installer.jar comando

Funziona per me.

+1

Ho aggiornato la domanda con l'output dei passaggi precedenti.Si prega di vedere sopra. Cosa dovrebbe stampare echo $ DISPLAY? – KrishPrabakar

5

echo $ DISPLAY deve stampare: 0. Se non stampa: 0 Quindi è necessario impostare la variabile di visualizzazione utilizzando questo comando "export DISPLAY = 127.0.0.1: 0.0". Spero che funzionerà

+1

Ho seguito i tuoi passi. Ora 'echo $ DISPLAY' stampa '127.0.0.1: 0.0'. Tuttavia, l'esecuzione di 'java -jar DCEVM-full-7u79-installer.jar' stampa l'errore come' Exception in thread "main" java.lang.InternalError: Impossibile connettersi al server di finestre X11 usando '127.0.0.1:0.0' come il valore della variabile DISPLAY. – KrishPrabakar