Servidor VNC sin sistema X Window

Servidor VNC sin sistema X Window

¿Funcionará un servidor VNC sin X Server instalado? Sé que vnc funciona con X Server, pero ¿qué pasa sin él?

Respuesta1

No, normalmente necesitará X instalado en el servidor al que se conecta de forma remota mediante VNC, ya que simplemente muestra un escritorio X desde este servidor.

En informática, Virtual Network Computing (VNC) es un sistema gráfico para compartir escritorio que utiliza el protocolo Remote Frame Buffer (RFB) para controlar de forma remota otra computadora. Transmite los eventos del teclado y el mouse de una computadora a otra, retransmitiendo las actualizaciones de la pantalla gráfica en la otra dirección, a través de una red.

Esta parte podría ser lo que confunde a la gente:

Tenga en cuenta que la máquina en la que se ejecuta el servidor VNC no necesita tener una pantalla física. En el método de operación normal, un espectador se conecta a un puerto del servidor (puerto predeterminado 5900).

Cuando mencionan "Pantalla", se refieren a un monitor físico. El servidor remoto aún requiere que X esté instalado y configurado para que se puedan ejecutar los escritorios GUI.

¿Qué pasa con Xvnc, X11vnc y vncserver?

xvnc

xvnces un servidor X11 que puede ejecutar de forma independiente, pero aún necesitará una computadora de escritorio para operarlo; de lo contrario, cuando lo inicie, se le presentará solo una ventana negra. Por lo tanto, Xvnc técnicamente no requiere que X esté instalado ya que contiene su propio servidor X.

Entonces Xvnc es realmente dos servidores en uno. Para las aplicaciones es un servidor X y para los usuarios remotos de VNC es un servidor VNC. Por convención, hemos dispuesto que el número de visualización del servidor VNC sea el mismo que el número de visualización del servidor X, lo que significa que puede utilizar, por ejemplo. snoopy:2 para referirse a la pantalla 2 en la máquina 'snoopy' tanto en el mundo X como en el mundo VNC.

Normalmente, iniciará Xvnc utilizando el script vncserver, que está diseñado para simplificar el proceso y que está escrito en Perl. Probablemente desee editar esto para adaptarlo a sus preferencias y condiciones locales. Recomendamos usar vncserver en lugar de ejecutar Xvnc directamente, pero Xvnc tiene esencialmente las mismas opciones que un servidor X estándar, con algunas extensiones. Al ejecutar Xvnc -h se mostrará una lista.

$ export DISPLAY=localhost:1.0
$ /usr/bin/Xvnc :1 -ac -auth "/root/.Xauthority" \
    -geometry "1200x700" -depth 8 -rfbwait 120000 \
    -rfbauth /root/.vnc/passwd 2> /root/.vnc/ServerDaemon.log &
$ /bin/sleep 10
$ /usr/bin/fvwm 2> /root/.vnc/fvwm.log &
x11vnc

Donde Xvnc contiene su propio servidor X,x11vncno es. Es un servidor VNC que se integra con un servidor X, Xvnc o Xvfb que ya está en ejecución. Tiene la característica única de poder conectarse a cosas que tienen un framebuffer.

extracto

x11vnc mantiene una copia del frame buffer del servidor X en la RAM. La interfaz de programación X11 XShmGetImage se utiliza para recuperar los datos de píxeles del búfer de cuadros. x11vnc compara el búfer de cuadros del servidor X con su copia para ver qué regiones de píxeles han cambiado (y, por lo tanto, deben enviarse a los visores VNC).

extracto

Permite el acceso remoto desde un cliente remoto a una computadora que aloja una sesión de X Window y el software x11vnc, sondeando continuamente el frame buffer del servidor X en busca de cambios. Esto permite al usuario controlar su escritorio X11 (KDE, GNOME, XFCE, etc.) desde una computadora remota ya sea en la propia red del usuario o desde Internet como si el usuario estuviera sentado frente a ella. x11vnc también puede sondear dispositivos frame buffer que no sean X11, como cámaras web o tarjetas sintonizadoras de TV, iPAQ, Neuros OSD, la consola Linux y la pantalla gráfica de Mac OS X.

x11vnc no crea una pantalla adicional (o escritorio X) para control remoto. En su lugar, utiliza la pantalla X11 existente que se muestra en el monitor de una computadora tipo Unix en tiempo real, a diferencia de otras alternativas de Linux como TightVNC Server. Sin embargo, es posible utilizar Xvnc o Xvfb para crear una pantalla adicional "virtual" y hacer que x11vnc se conecte a ella, lo que permite el acceso de X-11 a servidores sin cabeza.

servidor vnc

vncserveres solo un script Perl de interfaz que ayuda a aliviar la complejidad de configurar VNC + X en servidores remotos a los que usará VNC para conectarse.

vncserver se utiliza para iniciar un escritorio VNC (Virtual Network Computing). vncserver es un script Perl que simplifica el proceso de inicio de un servidor Xvnc. Ejecuta Xvnc con las opciones apropiadas e inicia un administrador de ventanas en el escritorio VNC.

Referencias

Respuesta2

Si no está ejecutando X11 (X) pero usa framebuffer, existe framebuffer-vncserver.https://github.com/ponty/framebuffer-vncserver Esto funciona bien, con la excepción de que no admite entradas. Esto es fácil de solucionar inyectando directamente entradas en el lado del servidor.

información relacionada