Jarra em execução com exibição do servidor


0

Eu tenho um arquivo Jar que gostaria de executar no meu servidor. Quando eu corro usando java -jar MyJar.jareu recebo este erro:

No protocol specified
Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
    at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
    at sun.awt.X11GraphicsEnvironment.access$200(Unknown Source)
    at sun.awt.X11GraphicsEnvironment$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.awt.X11GraphicsEnvironment.<clinit>(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at java.awt.GraphicsEnvironment.createGE(Unknown Source)
    at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(Unknown Source)
    at java.awt.Window.initGC(Unknown Source)
    at java.awt.Window.init(Unknown Source)
    at java.awt.Window.<init>(Unknown Source)
    at java.awt.Frame.<init>(Unknown Source)
    at javax.swing.JFrame.<init>(Unknown Source)
    at Dots.main(Dots.java:13)

Pesquisando um pouco, encontrei várias soluções, mas nenhuma delas resolveu meu problema: export DISPLAY=:0e xhost +que, infelizmente, retorna

No protocol specified
xhost:  unable to open display ":0"   

EDIT * Também tentei, java -Djava.awt.headless=true -jar MyJar.jarmas eu recebo este erro:

Exception in thread "main" java.awt.HeadlessException
    at java.awt.GraphicsEnvironment.checkHeadless(Unknown Source)
    at java.awt.Window.<init>(Unknown Source)
    at java.awt.Frame.<init>(Unknown Source)
    at javax.swing.JFrame.<init>(Unknown Source)
    at Dots.main(Dots.java:13)

Alguma solução?


O que exatamente você está executando isso?
Michael Hampton

Você está usando X11Forwarding?
84104

Eu estou sshing em um servidor do CentOS para tentar executar o meu jar. Eu não estou usandoX11Forwarding

Por isso não está funcionando.
Michael Hampton

De fato. Consegui descobrir como resolver esse problema usando as opções ssh -X ou -Y. Infelizmente, tenho que esperar 6 horas até que eu possa responder minha própria pergunta. Mas se um de vocês quiser pegar a resposta, fique à vontade. Eu vou aceitar.

Respostas:


0

Você não listou o que foi excluído, e então:

java -Djava.awt.headless=true -jar MyJar.jar 

Obrigado. Eu atualizei com o que tentei resolver este problema.

0

Você provavelmente precisará iniciar um cliente X como o VNC nesse display. Você já fez isso?


Eu não tenho. Como isso é feito?

0

A resposta é simplesmente ssh -Y <server>ou ssh -X <server>isso permitirá que o X11Forwarding permita que você execute o seu programa. Para mim, no entanto, a opção -X expira o X11Forwarding após um determinado período de tempo conectado ao servidor. O -Y manterá constante x11Fowarding.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.