Para empezar, X-window es un sistema basado en cliente/servidor donde ambas partes del sistema pueden estar en puntos diferentes de una red dada. VNC es un protocolo también cliente/servidor que permite el acceso remoto a escritorios. Mientras X es un interfaz gráfico, VNC se basa en transportar cualquier interfaz gráfico soportado (X, W32, ...) a través de la red. No se necesita nada especial para conectarse a un servidor X con un aplicación X, aparte de que esté escuchando ;-). Pero para conectarse a un servidor VNC, debe existir en la máquina servidor un interfaz gráfico independiente del VNC.
Lo que hace el VNC básicamente es engañar al interfaz haciéndole creer que los eventos del ratón, teclado y demás se realizan de forma local. De hecho se puede manejar por VNC un escritorio ya abierto por otro usuario (con el consiguiente susto/sorpresa por la aparente "posesión" diabólica del computador).
Lo que hace una conexión remota de una aplicación X es ejecutar la aplicación en el servidor, pero la visualización se realiza en el cliente, que debe estar preparado para ello.
Creo que eso es a grosso modo las diferencias más importantes.
Un pequeño error de concepto
(Puntos:1)Para empezar, X-window es un sistema basado en cliente/servidor donde ambas partes del sistema pueden estar en puntos diferentes de una red dada. VNC es un protocolo también cliente/servidor que permite el acceso remoto a escritorios. Mientras X es un interfaz gráfico, VNC se basa en transportar cualquier interfaz gráfico soportado (X, W32, ...) a través de la red. No se necesita nada especial para conectarse a un servidor X con un aplicación X, aparte de que esté escuchando ;-). Pero para conectarse a un servidor VNC, debe existir en la máquina servidor un interfaz gráfico independiente del VNC.
Lo que hace el VNC básicamente es engañar al interfaz haciéndole creer que los eventos del ratón, teclado y demás se realizan de forma local. De hecho se puede manejar por VNC un escritorio ya abierto por otro usuario (con el consiguiente susto/sorpresa por la aparente "posesión" diabólica del computador).
Lo que hace una conexión remota de una aplicación X es ejecutar la aplicación en el servidor, pero la visualización se realiza en el cliente, que debe estar preparado para ello.
Creo que eso es a grosso modo las diferencias más importantes.
Nunc scio tenebris lux.