X Window Server para ejecutar herramientas GUI

X Window Server para ejecutar herramientas GUI

Somos una tienda de software que escribe mucho código Java. La mayoría de nuestros servidores de aplicaciones Java son cajas CentOS alojadas en un centro de datos remoto.

Siempre que necesitamos entrar en esas máquinas y examinarlas, utilizamos PuTTY.

Recientemente me pidieron que monitoreara nuestra JVM usando el jvisualvmgenerador de perfiles de memoria, que es una herramienta GUI enriquecida que utiliza muchos gráficos y tablas con bonitos colores. Cuando le pregunté a mi líder técnico cómo podía ver una herramienta GUI de este tipo en lugar de una herramienta de comando basada en caracteres como PuTTY, me dijo que usara algo llamado Reflection X en su lugar.

Esto me impulsó a leer sobre Reflection X y X Windows en general (a los que nunca he estado expuesto).

Ahora entiendo que "X" es una capa de abstracción de hardware para que pueda escribir código orientado a GUI e implementarlo en cualquier hardware en el que X pueda ejecutarse. De esta manera es idéntica (en tema) a la máquina virtual Java.

Lo que soynoLa comprensión es la relación entre mi PC con Windows, Reflection X, la máquina CentOS que ejecuta la aplicación que tengo que perfilar y la jvisualvmherramienta en sí:¿Quien esta haciendo que?

¿Se ejecuta Reflection X en mi máquina o está instalado en el servidor Linux? ¿Qué tiene Reflection X que me permitirá ver jvisualvmde forma remota?

¡Gracias de antemano!

Respuesta1

El programa jvisualvm simplemente se ejecuta en su máquina CentOS. En este cuadro, se está ejecutando el host del servidor X y el Reflection X es solo un cliente del servidor X. Lo que significa que básicamente estás ejecutando un escritorio controlado de forma remota. Todo lo que hace su máquina Windows con Reflection X es conectarse al cuadro CentOS para permitirle ver e interactuar con las aplicaciones que se ejecutan allí.

Respuesta2

X es muy diferente de Java. No es una VM, una capa de abstracción de hardware ni nada parecido: es unaprotocolo de red, actualmente en la versión X11, que utilizan los programas para comunicarse con un servidor X11. Estos programas se pueden escribir en prácticamente cualquier idioma siempre que tenga las funciones necesarias.

Elservidor x11Por lo general, se ejecuta en su propia máquina y realiza el trabajo de mostrar gráficos en pantalla y enviar eventos de teclado y mouse a los programas. Los programas (clientes X11) se conectan a él localmente usando dichos métodos IPC (sockets Unix), o a través de la red, usando TCP/IP directo (raro) o mediante un túnel dentro de una conexión SSH (la opción "reenvío X11" en PuTTY).

Reflexión Xes un servidor X11 comercial para Windows. Las alternativas de código abierto incluyenCygwin/X(un puerto de Xorg), así comoxming. Casi todas las PC con Linux o BSD ejecutanxorgcomo su principal sistema gráfico.

Cuando ejecutas Reflection X en tu computadora, simplemente se queda ahí esperando conexiones. Cuando se ejecuta jvisualvmen la máquina CentOS, el generador de perfiles se conecta al servidor X11 (conectado a través de la misma conexión SSH que usa PuTTY) y usa el protocolo X11 para abrir una ventana y dibujar dentro de ella.

Respuesta3

  • Reflection X parece ser un X-Server que se ejecuta en MS Windows. Una alternativa gratuita seríaxming
  • Los X-Servers atienden solicitudes de clientes GUI y las muestran en la máquina host que ejecuta el X-Server
  • En su máquina Linux, deberá configurar DISPLAY para que apunte a su X-Server una vez que esté funcionando en su máquina con Windows. Luego puede iniciar la aplicación GUI desde su servidor Linux y se mostrará en su escritorio de Windows.

Genial, ¿eh?

Alternativamente, si la máquina Linux es una máquina virtual VMware, puede instalar las herramientas de VMware y usar su aplicación Unity para hacer algo similar.

información relacionada