VNC (Virtual Network Computing) le permite utilizar su servidor de la misma manera que utiliza su ordenador, con la interfaz gráfica de usuario (GUI), escritorio, y su ratón y teclado. Hace que la informática sea más fácil para los usuarios que son nuevos en el trabajo con un servidor.
Cloudsigma le permite acceder a VNC inmediatamente después de crear el servidor. Junto con eso, en este tutorial, configurará un servidor VNC en Ubuntu 18.04 y se conectará a él mediante un túnel seguro. Para este tutorial, utilizará TigerVNC, un paquete de servidor VNC ligero y rápido. Permitirá una experiencia fluida, incluso en redes lentas.
Requisitos previos
Primero, tiene que crear una máquina. Puede hacerlo fácilmente en la sección de computación de la WebApp de CloudSigma:

Para este tutorial, puede utilizar los siguientes recursos:
CPU: 8 GHz
RAM: 8 GB
SSD: 50 GB
Puede montar el disco con Ubuntu 18.04 imagen LTS disponible en la biblioteca de CloudSigma:
Ubuntu 18.04: Preinstalado de 64 bits con controladores VirtIO, superusuario, Python 2.7.17, Pip 20.0.2 OpenSSL 1.1.1d, Cloud-init y últimas actualizaciones hasta el 2019-03-03.
Después de iniciar la máquina, puede actualizar todos los repositorios y paquetes existentes en la máquina ejecutando los siguientes comandos:
|
1 2 |
sudo apt update sudo apt upgrade |
Función VNC de CloudSigma
CloudSigma le proporciona una forma sencilla de acceder a sus máquinas a través de VNC.

Puede hacer clic en el botón de alternancia de VNC Tunnel’s para habilitarlo. Una vez que lo haga, verá esta pantalla.

Si ha adjuntado una clave SSH, tendrá que acceder al servidor y cambiar la contraseña utilizando el siguiente comando:
|
1 2 3 |
ssh -i key.pem cloudsigma@IP sudo passwd cloudsigma |
Si no ha adjuntado una clave SSH, puede omitir el paso anterior. Encontrará la contraseña en las Notas de instalación.
Puede hacer clic en ‘Display VNC’ para abrir la ventana de VNC en el navegador o en ‘Display VNC URL’ para ver los detalles necesarios para conectarlo a un cliente VNC. Cuando haga clic en ‘Display VNC’, se abrirá una nueva pestaña que le pedirá las credenciales. Puede utilizarlo de la misma manera que utilizaría la VM con un cliente VNC.

Ahora veremos la otra forma de instalar VNC en un servidor.
Instalación del servidor VNC
La imagen de Ubuntu no viene con los paquetes de GUI por defecto. Instalaremos los paquetes para el último entorno de escritorio XFCE y el paquete TigerVNC disponible en el repositorio de Ubuntu.
Puede instalar el paquete XFCE utilizando el siguiente comando:
sudo apt install xfce4 xfce4-goodies
Después de la instalación de los paquetes XFCE, puede instalar el servidor TigerVNC utilizando el siguiente comando:
|
1 |
sudo apt install tightvncserver |
Para completar la configuración, ejecute el siguiente comando y configure una contraseña para la conexión VNC:
|
1 |
vncserver |
Al ejecutar el comando anterior, le preguntará si desea iniciar sesión con una contraseña de solo lectura. Con una contraseña de solo lectura, solo podrá ver la pantalla pero no utilizar el sistema. Esta opción sería relevante si desea que otra persona pueda ver la pantalla pero no utilizarla.
Next, the command would create all the required configurations. You can use the VNC server from a remote system or your computer at this stage. As part of this tutorial, we will further configure our server before using it.
Configuración del servidor VNC
En esta sección, le mostraremos cómo configurar el escritorio preferido a utilizar.
Debe configurar estos comandos en un archivo llamado ‘xstartup’ en la carpeta .vnc de su directorio de inicio. Cuando ejecutó el comando vncserver por primera vez, se creó el script de inicio. Creará otro para iniciar el escritorio XFCE.
Además, cuando ejecutó el comando vncserver por primera vez, este inició una instancia de servidor predeterminada con el puerto 5901. Este puerto se denomina puerto de pantalla y VNC se refiere a él como “:1”. Si vuelve a ejecutar el comando, VNC creará otra instancia “:2” en otros puertos, y así sucesivamente.
Dado que va a configurar el servidor VNC, detenga las instancias que ya se están ejecutando:
|
1 |
vncserver -kill :1 |
Antes de modificar el archivo de inicio, realice una copia de seguridad del archivo original:
|
1 |
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak |
Ahora, puede editar el archivo original usando el editor vim y reemplazar su contenido con lo siguiente:
|
1 2 3 4 5 6 7 |
vim ~/.vnc/xstartup Contenido: #!/bin/bash xrdb $HOME/.Xresources startxfce4 & |
Cada vez que inicia o reinicia el vncserver, el proceso ejecuta los comandos de este archivo. Estos comandos inician el entorno de escritorio si aún no se ha iniciado.
El primer comando, “xrdb $HOME/.Xresources” le dice al entorno de la interfaz gráfica (GUI) que lea las configuraciones desde esta ubicación. Puede configurar varios ajustes del escritorio como los colores de la terminal, los temas del cursor, etc. El segundo comando inicia el XFCE.
Para asegurarse de que el servidor VNC pueda ejecutar el archivo, debe cambiar sus permisos:
|
1 |
sudo chmod +x ~/.vnc/xstartup |
Tras el cambio de permisos, ahora puede ejecutar el servidor VNC:
|
1 |
vncserver |

Ahora que el servidor está listo, podemos conectarnos a él desde nuestro equipo.
Creación de un túnel seguro para la conexión VNC
Dado que VNC no utiliza protocolos seguros al conectarse, utilizaremos SSH para crear una conexión segura. Podemos usar un túnel seguro SSH para conectarnos a nuestro escritorio virtual.
Para crear un túnel SSH que reenvíe de forma segura la conexión al localhost, puede utilizar el siguiente comando en la terminal o PowerShell (para Windows):
|
1 |
ssh -L 5901:127.0.0.1:5901 -C -N -l <UserName> <ServerIP> -i <pemKey> |
En el comando anterior,
-L: Se utiliza para especificar las asociaciones de puertos. En este caso, estamos reenviando el puerto 5901 del servidor al puerto 5901 de nuestro sistema
-C: Se utiliza para habilitar la compresión
-N: Se utiliza para especificar que no se requiere la ejecución remota del comando
-l: Especifica el nombre de inicio de sesión remoto
-i: Especifica la ubicación de la clave

Una vez que el túnel esté funcionando, use un cliente VNC para conectarse a localhost:5901. Le pedirá que introduzca la contraseña que configuró anteriormente.
Una vez conectado, verá una pantalla similar a esta.

Puede detener el túnel SSH presionando Ctrl + C.
Ejecutar VNC como un servicio del sistema
Ahora puede configurar VNC como un servicio del sistema para iniciarlo, reiniciarlo o verificar su estado mediante comandos de systemd. Esto también garantizará que el servidor VNC se inicie cuando se reinicie el servidor.
Para hacerlo, cree un nuevo archivo de unidad – /etc/systemd/system/vncserver@.service.
|
1 |
touch /etc/systemd/system/vncserver@.service |
Notará que en el nombre de archivo anterior hay un símbolo ‘@’. Le permite pasar un argumento que puede usar en la configuración del servidor.
Agregue el siguiente contenido en el archivo:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[Unit] Description=Iniciar TightVNC servidor en el inicio After=syslog.target network.target [Service] Type=forking User=<User> Group=<UserGroup> WorkingDirectory=/home/<User> PIDFile=/home/<User>/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target |
El comando ‘ExecStartPre’ detiene el VNC si ya se está ejecutando, mientras que el comando ExecStart inicia el VNC con una profundidad de color de 24 bits y una resolución de 1280×800. Puede modificar este archivo para adaptarlo a sus necesidades.
Ahora, puedes recargar las unidades para systemd usando el siguiente comando:
|
1 |
sudo systemctl daemon-reload |
Ahora que systemctl reconoce la nueva unidad, puedes habilitarla usando el comando:
|
1 |
sudo systemctl enable vncserver@1.service |
El número 1 después de @ indica en qué número de pantalla debe aparecer el servicio. Ejemplo:1, :2, etc.
Para detener la instancia actual, ejecuta el comando:
|
1 |
vncserver -kill :1 |

Ahora puedes iniciar el servidor VNC como iniciarías cualquier otro servicio.
|
1 |
sudo systemctl start vncserver@1 |
Para verificar si el servicio está activo, ejecuta el comando:
|
1 |
sudo systemctl status vncserver@1 |
El servidor VNC ahora estará disponible cuando reinicies tu servidor.
Ahora que sabes cómo configurar un servidor VNC, puedes administrar fácilmente tu servidor, al igual que administras tu computadora.
Comentarios
Aún no hay comentarios. Sea el primero.