X Window Server para executar ferramentas GUI

X Window Server para executar ferramentas GUI

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 precisamos entrar nessas máquinas e vasculhar, usamos PuTTY.

Recentemente, fui solicitado a monitorar nossa JVM usando o jvisualvmMemory Profiler, que é uma ferramenta GUI rica que usa muitos gráficos e tabelas com cores bonitas. Quando perguntei ao meu líder técnico como eu poderia visualizar essa ferramenta GUI em vez de 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 o X Windows em geral (ao qual nunca tive contato).

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

O que eu sounãoO entendimento é a relação entre meu PC Windows, Reflection X, a máquina CentOS que executa o aplicativo que devo criar o perfil e a jvisualvmprópria ferramenta:quem está fazendo o quê?

O Reflection X é executado na minha máquina ou está instalado no servidor Linux? O que há no Reflection X que me permitirá visualizar jvisualvmremotamente?

Desde já, obrigado!

Responder1

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

Responder2

X é muito diferente de Java. Não é uma VM, uma camada de abstração de hardware ou algo assim – é umprotocolo 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 linguagem, desde que possuam as funções necessárias.

OServidor X11geralmente é 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 a ele localmente usando métodos IPC (soquetes Unix) ou pela rede - usando TCP/IP direto (raro) ou encapsulados dentro de uma conexão SSH (a opção "encaminhamento X11" no PuTTY).

Reflexão Xé um servidor comercial X11 para Windows. Alternativas de código aberto incluemCygwin/X(uma porta do Xorg), bem comoXming. Quase todos os PCs Linux ou BSD rodamXorgcomo seu principal sistema gráfico.

Quando você executa o Reflection X em seu computador, ele fica parado esperando por conexões. Quando você executa jvisualvmna máquina CentOS, o criador de perfil se conecta ao servidor X11 (encapsulado pela mesma conexão SSH que o PuTTY está usando) e usa o protocolo X11 para abrir uma janela e desenhar dentro dela.

Responder3

  • O Reflection X parece ser um X-Server que roda no MS Windows. Uma alternativa gratuita seriaXming
  • X-Servers atendem solicitações de clientes GUI e as exibem na máquina host que executa o X-Server
  • Na sua máquina Linux, você precisará configurar o DISPLAY para apontar para o seu X-Server assim que ele estiver instalado e funcionando na sua máquina Windows. Em seguida, você pode iniciar o aplicativo GUI de dentro do servidor Linux e ele será exibido na área de trabalho do Windows.

Legal, hein?

Como alternativa, se a caixa do Linux for uma VM VMware, você poderá instalar as ferramentas VMware e usar o aplicativo Unity para fazer algo semelhante.

informação relacionada