Abra o programa Java do SSH para o display VNC

1

Se eu tiver um sistema Ubuntu 12.04 que tenha LXDE e TightVNCserver instalado e execute uma sessão na porta :1 (não encapsulada através de SSH) e uma conexão SSH ativa, como posso usar o SSH para iniciar um programa que precisa de um exibição ativa para usar a sessão tightVNC disponível?

Eu queria usar o SSH para iniciar um arquivo java que normalmente começa bem quando iniciado dentro da sessão vnc, mas recebo um erro:

xxx@yyy:~# java zzz
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
        at sun.awt.HeadlessToolkit.getScreenSize(HeadlessToolkit.java:282)
        at zzz.<clinit>(zzz.java:35)

Para reformular: quero iniciar um programa e deixá-lo usar a janela da sessão aberta do VNC sem usar a sessão do visualizador de cliente VNC para iniciá-lo, isso pode ser feito?

(Eu acho que qualquer programa que precise de uma tela reagiria dessa forma, então eu acho que não é tanto uma questão de java, mas uma de ssh / vnc)

    
por N_Dev 20.11.2014 / 07:32

2 respostas

2

Tente definir a variável DISPLAY para o servidor X da sessão do VNC:

DISPLAY=:1 java xxx
    
por muru 21.11.2014 / 19:32
2

Você precisará habilitar o encaminhamento do X11, isto irá encaminhá-lo para o seu próprio servidor X11 (então você precisa de um servidor X11 em execução no cliente do qual você é o SSHing).

Isso pode ser feito adicionando -X ao seu comando SSH. Exemplo: ssh -X user@server

Em seguida, verifique se a variável $ DISPLAY está definida para a exibição correta. Verifique isso com echo $DISPLAY

Se o que você está tentando conseguir é acessar uma janela aberta no seu servidor X11 através do SSH, sugiro dar uma olhada nisso: link

Explica como obter um comportamento semelhante ao 'screen', mas com aplicativos X11.

    
por Tobias 20.11.2014 / 09:47