Habilitación de VNC para máquinas virtuales Linux
Importante:
La actualización acumulativa 1 de Citrix Hypervisor 8.2 llega al final de su vida útil el 25 de junio de 2025. Planifique su actualización a XenServer 8 ahora para garantizar una transición fluida y un soporte continuo. Para obtener más información, consulte Actualizar.
Si utiliza los archivos de licencia de Citrix Virtual Apps and Desktops para licenciar los hosts de Citrix Hypervisor 8.2 Cumulative Update 1, estos archivos de licencia no son compatibles con XenServer 8. Antes de actualizar, debe adquirir los archivos de licencia de socket de XenServer Premium Edition para utilizarlos con XenServer 8. Estos archivos de licencia de socket están disponibles como un derecho de las suscripciones de Citrix para Private Cloud, Citrix Universal Hybrid Multi-Cloud, Citrix Universal MSP y Citrix Platform License para ejecutar sus cargas de trabajo de Citrix. Los clientes de Citrix que aún no hayan realizado la transición a estas nuevas suscripciones pueden solicitar participar en una promoción gratuita de 10.000 licencias de socket de XenServer Premium Edition. Para obtener más información, consulte XenServer.
Si no obtiene una licencia compatible para XenServer 8 antes de actualizar, cuando actualice sus hosts, estos volverán a la edición de prueba de 90 días. La Edición de Prueba ofrece las mismas características que la Edición Premium con algunas limitaciones. Para obtener más información, consulte Descripción general de las licencias de XenServer 8.
Es posible que las máquinas virtuales no estén configuradas para admitir Virtual Network Computing (VNC), que Citrix Hypervisor utiliza para controlar las máquinas virtuales de forma remota, de forma predeterminada. Antes de poder conectarse con XenCenter, asegúrese de que el servidor VNC y un administrador de pantalla X estén instalados en la máquina virtual y configurados correctamente. En esta sección se describe cómo configurar VNC en cada una de las distribuciones del sistema operativo Linux compatibles para permitir interacciones adecuadas con XenCenter.
En el caso de las máquinas virtuales basadas en CentOS, siga las instrucciones para las máquinas virtuales basadas en Red Hat que se indican a continuación, ya que utilizan el mismo código base para proporcionar acceso gráfico a VNC. Centos X está basado en Red Hat Enterprise Linux X.
Habilitación de una consola gráfica en máquinas virtuales Debian
Nota: No
Antes de habilitar una consola gráfica en su máquina virtual Debian, asegúrese de haber instalado Citrix VM Tools para Linux. Para obtener más información, consulte Instalar Citrix VM Tools para Linux.
La consola gráfica para las máquinas virtuales Debian es proporcionada por un servidor VNC que se ejecuta dentro de la VM. En la configuración recomendada, un administrador de pantalla estándar controla la consola para que se proporcione un cuadro de diálogo de inicio de sesión.
-
Instale su huésped Debian con los paquetes del sistema de escritorio, o instale GDM (el administrador de pantalla) usando apt (siguiendo los procedimientos estándar).
-
Instale el servidor Xvnc usando
apt-get
(o similar):apt-get install vnc4server <!--NeedCopy-->
Nota: No
El Entorno de Escritorio Gráfico de Debian, que utiliza el demonio Gnome Display Manager versión 3, puede tardar mucho tiempo de CPU. Desinstale el paquete Gnome Display Manager
gdm3
e instale el paquetegdm
de la siguiente manera:apt-get install gdm apt-get purge gdm3 <!--NeedCopy-->
-
Configure una contraseña VNC (no tener una es un riesgo de seguridad grave) usando el comando
vncpasswd
. Pase un nombre de archivo para escribir la información de la contraseña. Por ejemplo:vncpasswd /etc/vncpass <!--NeedCopy-->
-
Modifique su archivo
gdm.conf
(/etc/gdm/gdm.conf
) para configurar un servidor VNC para administrar la pantalla0
extendiendo las secciones[servidores]
y[daemon]
de la siguiente manera:[servers] 0=VNC [daemon] VTAllocation=false [server-VNC] name=VNC command=/usr/bin/Xvnc -geometry 800x600 -PasswordFile /etc/vncpass BlacklistTimeout=0 flexible=true <!--NeedCopy-->
-
Reinicie GDM y, a continuación, espere a que XenCenter detecte la consola gráfica:
/etc/init.d/gdm restart <!--NeedCopy-->
Nota: No
Puede comprobar que el servidor VNC se está ejecutando usando un comando como
ps ax | grep vnc
.
Habilitación de una consola gráfica en máquinas virtuales Red Hat, CentOS u Oracle Linux
Nota: No
Antes de configurar las máquinas virtuales de Red Hat para VNC, asegúrese de haber instalado Citrix VM Tools para Linux. Para obtener más información, consulte Instalar Citrix VM Tools para Linux.
Para configurar VNC en máquinas virtuales de Red Hat, modifique la configuración de GDM. La configuración de GDM se mantiene en un archivo cuya ubicación varía en función de la versión de Red Hat Linux que esté utilizando. Antes de modificarlo, primero determine la ubicación de este archivo de configuración. Este archivo se modifica en varios procedimientos posteriores en esta sección.
Determine la ubicación del archivo de configuración de VNC
Si está utilizando Red Hat Linux, el archivo de configuración de GDM es /etc/gdm/custom.conf
. Este archivo es un archivo de configuración dividida que contiene solo valores especificados por el usuario que anulan la configuración predeterminada. Este tipo de archivo se utiliza de forma predeterminada en las versiones más recientes de GDM. Está incluido en estas versiones de Red Hat Linux.
Configurar GDM para usar VNC
-
Como root en la CLI de texto en la VM, ejecute el comando
rpm -q vnc-server gdm
. Aparecen los nombres de los paquetesvnc-server
ygdm
, con sus números de versión especificados.Los nombres de los paquetes que se muestran muestran los paquetes que ya están instalados. Si ve un mensaje que dice que un paquete no está instalado, es posible que no haya seleccionado las opciones de escritorio gráfico durante la instalación. Instale estos paquetes antes de poder continuar. Para obtener más información sobre la instalación de más software en la máquina virtual, consulte la Guía de instalación de Red Hat Linux x86 correspondiente.
-
Abra el archivo de configuración de GDM con su editor de texto preferido y agregue las siguientes líneas al archivo:
[server-VNC] name=VNC Server command=/usr/bin/Xvnc -SecurityTypes None -geometry 1024x768 -depth 16 \ -BlacklistTimeout 0 flexible=true <!--NeedCopy-->
Con archivos de configuración en Red Hat Linux, agregue estas líneas en la sección vacía
[servidores]
. -
Modifique la configuración para que se utilice el servidor
Xvnc
en lugar del servidor X estándar:-
0=Standard
Modifíquelo para que diga:
0=VNC
-
Si está utilizando Red Hat Linux, agregue la línea anterior justo debajo de la sección
[servers]
y antes de la sección[server-VNC]
.
-
-
Guarde el archivo y ciérrelo.
Reinicie GDM para que el cambio en la configuración surta efecto, ejecutando el comando /usr/sbin/gdm-restart
.
Nota: No
Red Hat Linux utiliza el nivel de ejecución 5 para el inicio gráfico. Si la instalación se inicia en el nivel de ejecución 3, cambie esta configuración para que se inicie el administrador de pantalla y obtenga acceso a una consola gráfica. Para obtener más información, consulte Comprobar los niveles de ejecución.
Configuración del cortafuegos
La configuración del firewall de forma predeterminada no permite que pase el tráfico VNC. Si tiene un firewall entre la máquina virtual y XenCenter, permita el tráfico a través del puerto que utiliza la conexión VNC. De forma predeterminada, un servidor VNC escucha conexiones de un visor VNC en el puerto TCP 5900 + n
, donde n
es el número de visualización (normalmente cero). Entonces, una configuración de servidor VNC para Display-0 escucha en el puerto TCP 5900
, Display-1 es TCP-5901
, y así sucesivamente. Consulte la documentación del firewall para asegurarse de que estos puertos estén abiertos.
Si desea utilizar el seguimiento de conexiones IP o limitar el inicio de las conexiones para que solo provenga de un lado, configure aún más su firewall.
Para configurar el firewall VMS basado en Red Hat para abrir el puerto VNC:
-
Para Red Hat Linux, utilice
system-config-securitylevel-tui
. -
Seleccione Personalizar y agregue
5900
a la lista de otros puertos.
Alternativamente, puede deshabilitar el firewall hasta el próximo reinicio ejecutando el comando service iptables stop
, o de forma permanente ejecutando chkconfig iptables off
. Esta configuración puede exponer servicios adicionales al mundo exterior y reducir la seguridad general de la máquina virtual.
Resolución de pantalla VNC
Después de conectarse a una máquina virtual con la consola gráfica, la resolución de la pantalla a veces no coincide. Por ejemplo, la pantalla de la máquina virtual es demasiado grande para caber cómodamente en el panel de la consola gráfica. Controle este comportamiento configurando el parámetro de geometría `` del servidor VNC de la siguiente manera:
-
Abra el archivo de configuración de GDM con su editor de texto preferido. Para obtener más información, consulte Determine la ubicación de su archivo de configuración VNC.
-
Encuentra la sección
[server-VNC]
que agregaste arriba. -
Edite la línea de comandos para que diga, por ejemplo:
command=/usr/bin/Xvnc -SecurityTypes None -geometry 800x600 <!--NeedCopy-->
El valor del parámetro de geometría `` puede ser cualquier ancho y alto de pantalla válidos.
-
Guarde el archivo y ciérrelo.
Habilitación de VNC para máquinas virtuales RHEL, CentOS u OEL
Si está utilizando Red Hat Linux, el archivo de configuración de GDM es /etc/gdm/custom.conf
. Este archivo es un archivo de configuración dividida que contiene solo valores especificados por el usuario que anulan la configuración predeterminada. De forma predeterminada, este tipo de archivo se utiliza en las versiones más recientes de GDM y se incluye en estas versiones de Red Hat Linux.
Durante la instalación del sistema operativo, seleccione Escritorio modo. En la pantalla de instalación de RHEL, seleccione Escritorio > Personaliza ahora y, a continuación, haga clic en Próximo:
Esta acción muestra la pantalla del sistema base, asegúrese de que Compatibilidad con UNIX heredada se selecciona:
Escoger Escritorios > Paquetes opcionalesy, a continuación, haga clic en Próximo:
Esta acción muestra el Paquetes en escritorio ventana, seleccione tigervnc-servidor-<version_number> y, a continuación, haga clic en Próximo:
Siga estos pasos para continuar con la configuración de las máquinas virtuales de RHEL:
-
Abra el archivo de configuración de GDM con su editor de texto preferido y agregue las siguientes líneas a las secciones apropiadas:
[security] DisallowTCP=false [xdmcp] Enable=true <!--NeedCopy-->
-
Cree el archivo,
/etc/xinetd.d/vnc-server-stream
:service vnc-server { id = vnc-server disable = no type = UNLISTED port = 5900 socket_type = stream wait = no user = nobody group = tty server = /usr/bin/Xvnc server_args = -inetd -once -query localhost -SecurityTypes None \ -geometry 800x600 -depth 16 } <!--NeedCopy-->
-
Ingrese el siguiente comando para iniciar el servicio
xinetd
:# service xinetd start <!--NeedCopy-->
-
Abra el archivo
/etc/sysconfig/iptables
. Agregue la siguiente línea encima de la línea que dice-A INPUT -j REJECT --reject-with icmp-host-prohibited
:-A INPUT -m state --state NEW -m tcp -p tcp --dport 5900 -j ACCEPT <!--NeedCopy-->
-
Introduzca el siguiente comando para reiniciar
iptables
:# service iptables restart <!--NeedCopy-->
-
Introduzca el siguiente comando para reiniciar
gdm
:# telinit 3 # telinit 5 <!--NeedCopy-->
Nota: No
Red Hat Linux utiliza el nivel de ejecución 5 para el inicio gráfico. Si la instalación se inicia en el nivel de ejecución 3, cambie esta configuración para que se inicie el administrador de pantalla y para obtener acceso a una consola gráfica. Para obtener más información, consulte Comprobación de los niveles de ejecución.
Configuración de máquinas virtuales basadas en SLES para VNC
Nota: No
Antes de configurar las máquinas virtuales de SUSE Linux Enterprise Server para VNC, asegúrese de haber instalado Citrix VM Tools para Linux. Ver Instalar Citrix VM Tools para Linux para obtener más detalles.
SLES tiene soporte para habilitar “Administración remota” como una opción de configuración en YaST
. Puede seleccionar habilitar la administración remota en el momento de la instalación, disponible en el Servicios de red del instalador de SLES. Esta función le permite conectar un visor VNC externo a su invitado para que pueda ver la consola gráfica. El método para utilizar la función de administración remota de SLES es ligeramente diferente al método proporcionado por XenCenter. Sin embargo, es posible modificar los archivos de configuración de la máquina virtual de SUSE Linux para que se integre con la función de consola gráfica.
Buscar un servidor VNC
Antes de realizar cambios en la configuración, compruebe que tiene instalado un servidor VNC. SUSE envía el servidor tightvnc
de forma predeterminada. Este servidor es un servidor VNC adecuado, pero también puede utilizar la distribución estándar RealVNC.
Puedes comprobar que tienes instalado el software tightvnc
ejecutando el comando:
rpm -q tightvnc
<!--NeedCopy-->
Habilitación de la administración remota
Si la administración remota no se habilitó durante la instalación del software SLES, puede habilitarla de la siguiente manera:
-
Abra una consola de texto en la máquina virtual y ejecute la utilidad
YaST
:yast <!--NeedCopy-->
-
Utilice las teclas de flecha para seleccionar Servicios de red en el menú de la izquierda. Pestaña en el menú de la derecha y use las teclas de flecha para seleccionar Administración remota. Prensa Entrar.
-
En Administración remota pantalla Pestaña al Configuración de administración remota sección. Utilice las teclas de flecha para seleccionar Permitir la administración remota y presione Entrar para colocar una X en la casilla de verificación.
-
Pestaña al Configuración del cortafuegos sección. Utilice las teclas de flecha para seleccionar Puerto abierto en el firewall y presione Entrar para colocar una X en la casilla de verificación.
-
Pestaña al Terminar y presione Entrar.
-
Aparecerá un cuadro de mensaje que le indicará que reinicie el administrador de pantalla para que la configuración surta efecto. Prensa Entrar para reconocer el mensaje.
-
Aparece el menú de nivel superior original de
YaST
. Pestaña al Renunciar y presione Entrar.
Modificar la configuración de xinetd
Después de habilitar la administración remota, modifique un archivo de configuración si desea permitir que XenCenter se conecte. Como alternativa, utilice un cliente VNC de terceros.
-
Abra el archivo
/etc/xinetd.d/vnc
en su editor de texto preferido. -
El archivo contiene secciones como las siguientes:
service vnc1 { socket_type = stream protocol = tcp wait = no user = nobody server = /usr/X11R6/bin/Xvnc server_args = :42 -inetd -once -query localhost -geometry 1024x768 -depth 16 type = UNLISTED port = 5901 } <!--NeedCopy-->
-
Edite la línea del puerto `` para leer
port = 5900 <!--NeedCopy-->
-
Guarde el archivo y ciérrelo.
-
Reinicie el administrador de pantalla y el servicio
xinetd
con los siguientes comandos:/etc/init.d/xinetd restart rcxdm restart <!--NeedCopy-->
SUSE Linux utiliza el nivel de ejecución 5 para el inicio gráfico. Si el escritorio remoto no aparece, compruebe que la máquina virtual esté configurada para iniciarse en el nivel de ejecución 5. Para obtener más información, consulte Comprobar los niveles de ejecución.
Configuración del cortafuegos
De forma predeterminada, la configuración del firewall no permite que pase el tráfico VNC. Si tiene un firewall entre la máquina virtual y XenCenter, permita el tráfico a través del puerto que utiliza la conexión VNC. De forma predeterminada, un servidor VNC escucha conexiones de un visor VNC en el puerto TCP 5900 + n
, donde n
es el número de visualización (normalmente cero). Entonces, una configuración de servidor VNC para Display-0 escucha en el puerto TCP 5900
, Display-1 es TCP-5901
, y así sucesivamente. Consulte la documentación del firewall para asegurarse de que estos puertos estén abiertos.
Si desea utilizar el seguimiento de conexiones IP o limitar el inicio de las conexiones para que solo provenga de un lado, configure aún más su firewall.
Para abrir el puerto VNC en el firewall de máquinas virtuales SLES 11.x:
-
Abra una consola de texto en la máquina virtual y ejecute la utilidad
YaST
:yast <!--NeedCopy-->
-
Utilice las teclas de flecha para seleccionar Seguridad y usuarios en el menú de la izquierda. Pestaña en el menú de la derecha y use las teclas de flecha para seleccionar Cortafuegos. Prensa Entrar.
-
En Cortafuegos pantalla, use las teclas de flecha para seleccionar Reglas personalizadas en el menú de la izquierda y, a continuación, pulse Entrar.
-
Pestaña al Agregar en el botón Reglas permitidas personalizadas y luego presione Entrar.
-
En Red de origen campo, introduzca 0/0. Pestaña al Puerto de destino campo e introduzca 5900.
-
Pestaña al Agregar y, a continuación, pulse Entrar.
-
Pestaña al Próximo y presione Entrar.
-
En Resumen pantalla Pestaña al Terminar y presione Entrar.
-
En la pantalla de nivel superior
YaST
Tab hasta el botón Salir y presione Enter. -
Reinicie el administrador de pantalla y el servicio
xinetd
con los siguientes comandos:/etc/init.d/xinetd restart rcxdm restart <!--NeedCopy-->
Como alternativa, puede deshabilitar el firewall hasta el próximo reinicio ejecutando el comando rcSuSEfirewall2 stop , o de forma permanente usando YaST
. Esta configuración puede exponer servicios adicionales al mundo exterior y reducir la seguridad general de la máquina virtual.
Resolución de pantalla VNC
Después de conectarse a una máquina virtual con la consola gráfica, la resolución de la pantalla a veces no coincide. Por ejemplo, la pantalla de la máquina virtual es demasiado grande para caber cómodamente en el panel de la consola gráfica. Controle este comportamiento configurando el parámetro de geometría `` del servidor VNC de la siguiente manera:
-
Abra el archivo
/etc/xinetd.d/vnc
con su editor de texto preferido y busque la secciónservice_vnc1
(correspondiente adisplayID
1). -
Edite el argumento
geometry
en la líneaserver-args
a la resolución de pantalla deseada. Por ejemplo,server_args = :42 -inetd -once -query localhost -geometry 800x600 -depth 16 <!--NeedCopy-->
El valor del parámetro de geometría `` puede ser cualquier ancho y alto de pantalla válidos.
-
Guarde el archivo y ciérrelo.
-
Reinicie el servidor VNC:
/etc/init.d/xinetd restart rcxdm restart <!--NeedCopy-->
Comprobación de los niveles de ejecución
Las máquinas virtuales Linux de Red Hat y SUSE utilizan el nivel de ejecución 5 para el inicio gráfico. En esta sección se describe cómo comprobar que la máquina virtual se inicia en el nivel de ejecución 5 y cómo cambiar esta configuración.
-
Consulte
/etc/inittab
para ver cuál está configurado el nivel de ejecución predeterminado. Busque la línea que dice:id:n:initdefault: <!--NeedCopy-->
Si n no es 5, edite el archivo para que así sea.
-
Puede ejecutar el comando
telinit q ; telinit 5
después de este cambio para evitar tener que reiniciar para cambiar los niveles de ejecución.