X Window Server para executar ferramentas da GUI

1

Somos uma loja de software que escreve muito código Java. A maioria dos nossos servidores de aplicativos Java são caixas CentOS hospedadas em um data center remoto.

Sempre que precisarmos entrar nessas máquinas e vasculharmos, usaremos o PuTTY.

Recentemente, pediram para monitorar nossa JVM usando o jvisualvm memory profiler, que é uma rica ferramenta GUI que usa muitos gráficos e tabelas com cores bonitas. Quando perguntei ao meu líder de tecnologia como eu podia ver uma ferramenta GUI sobre uma ferramenta de comando baseada em caracteres como o PuTTY, ele me disse para usar algo chamado Reflection X.

Isso me levou a ler sobre o Reflection X e X Windows em geral (sobre o qual eu nunca tive qualquer exposição).

Agora entendo que "X" é uma camada de abstração de hardware para que você possa escrever código orientado por GUI e implementá-lo em qualquer hardware em que o X possa ser executado. Desta forma, é idêntico (no tema) à máquina virtual Java.

O que eu sou não é a relação entre meu PC com Windows, o Reflection X, a máquina do CentOS que executa o aplicativo que eu tenho que criar perfil e a própria ferramenta jvisualvm : fazendo o que?

O Reflection X roda na minha máquina ou está instalado no servidor linux? O que é sobre o Reflection X que me permitirá visualizar jvisualvm remotamente?

Obrigado antecipadamente!

    
por pnongrata 02.02.2012 / 16:31

3 respostas

2

O programa jvisualvm é mais executado na sua caixa do CentOS. Nesta caixa, há o host do X Server em execução e o Reflection X é apenas um cliente do X Server. Isso significa que você está essencialmente executando uma área de trabalho controlada remotamente. Tudo o que sua máquina Windows está fazendo com o Reflection X está se conectando à caixa CentOS para permitir que você veja e interaja com os aplicativos que estão sendo executados lá.

    
por 02.02.2012 / 18:28
1

X é muito diferente do Java. Não é uma VM, camada de abstração de hardware ou qualquer coisa assim - é um protocolo de rede , atualmente na versão X11, que os programas usam para se comunicar com um servidor X11. Esses programas podem ser escritos em praticamente qualquer idioma desde que tenham as funções necessárias.

O servidor X11 geralmente é executado em sua própria máquina e executa o trabalho de exibir gráficos na tela e enviar eventos de teclado e mouse de volta aos programas. Os programas (clientes X11) conectam-se localmente usando tais métodos IPC (soquetes Unix) ou pela rede - usando TCP / IP direto (raro) ou sintonizados dentro de uma conexão SSH (a opção "X11 forwarding" no PuTTY).

O Reflection X é um servidor X11 comercial para Windows. Alternativas de código aberto incluem Cygwin / X (uma porta do Xorg), bem como Xming . Quase todos os PCs Linux ou BSD executam o Xorg como seu principal sistema gráfico.

Quando você executa o Reflection X em seu computador, ele fica ali esperando por conexões. Quando você executa jvisualvm na máquina CentOS, o profiler se conecta ao servidor X11 (usando a mesma conexão SSH que o PuTTY está usando) e usa o protocolo X11 para abrir uma janela e desenhar dentro dela.

    
por 02.02.2012 / 22:18
0
  • O Reflection X parece ser um X-Server que é executado no MS Windows. Uma alternativa gratuita seria Xming
  • Os X-Servers atendem a solicitações de clientes da GUI e as exibem na máquina host que executa o X-Server
  • Na sua caixa de Linux, você precisará definir DISPLAY para apontar para o seu X-Server, uma vez que está em & correndo em sua máquina windows. Então você pode iniciar o aplicativo GUI de dentro do seu servidor Linux & Ele será exibido na área de trabalho do Windows.

Nifty eh?

Como alternativa, se a caixa do Linux for uma VM do VMware, você poderá instalar as ferramentas do VMware & use seu aplicativo de união para fazer algo semelhante.

    
por 02.02.2012 / 18:20