Búsqueda de sitios web

Cómo instalar y configurar el servidor VNC en Ubuntu


Virtual Network Computing (VNC) es un sistema gráfico para compartir escritorio ampliamente utilizado que permite a las cuentas de usuario conectarse y controlar de forma remota la interfaz de escritorio de una computadora desde otra computadora o dispositivo móvil. .

En este artículo, explicaremos cómo instalar y configurar un servidor VNC en una edición de escritorio Ubuntu 18.04 mediante el programa tigervnc-server.

Entorno de prueba

VNC Server: 192.168.56.108
VNC Client: 192.168.56.2

Instalar un entorno de escritorio en Ubuntu

Como dije, VNC es un sistema para compartir escritorio, por lo que necesitas tener un entorno de escritorio instalado en tu servidor Ubuntu. Puede instalar el DE de su elección ejecutando los comandos apropiados a continuación. A los efectos de este artículo, instalaremos Ubuntu Gnome (versión oficial).

sudo apt-get install ubuntu-desktop		#Default Ubuntu desktop
sudo apt install ubuntu-gnome-desktop	        #Ubuntu Gnome (Official flavor)
sudo apt-get install xfce4			#LXDE
sudo apt-get install lxde			#LXDE
sudo apt-get install kubuntu-desktop		#KDE

Instalar y configurar un VNC en Ubuntu

Tigervnc-server es un programa VNC multiplataforma de alta velocidad que ejecuta un servidor Xvnc e inicia sesiones paralelas de Gnome u otro entorno de escritorio en el escritorio VNC.

Para instalar el servidor TigerVNC y otros paquetes asociados en Ubuntu, ejecute el siguiente comando.

sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension tigervnc-viewer

Ahora inicie el servidor VNC ejecutando el comando vncserver como un usuario normal. Esta acción creará la configuración inicial almacenada en el directorio $HOME/.vnc y también le solicitará que configure una contraseña de inicio de sesión.

Ingrese una contraseña (que debe tener al menos seis caracteres) y confírmela/verifíquela. Luego establezca una contraseña de solo lectura si lo desea, de la siguiente manera.

vncserver
ls -l ~/.vnc 

A continuación, necesitamos configurar el DE para que funcione con el servidor VNC. Entonces, detenga el servidor VNC usando el siguiente comando para realizar algunas configuraciones.

vncserver -kill :1

Para configurar GNOME o cualquier escritorio que tenga instalado, cree un archivo llamado xstartup en el directorio de configuraciones usando su editor de texto favorito.

vi ~/.vnc/xstartup

Agregue las siguientes líneas en el archivo. Estos comandos se ejecutarán automáticamente cada vez que inicie o reinicie el servidor TigerVNC. Tenga en cuenta que los comandos pueden variar según el DE que haya instalado.

#!/bin/sh
exec /etc/vnc/xstartup
xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &

Guarde el archivo y establezca el permiso apropiado en el archivo para que pueda ejecutarse.

chmod 700 ~/.vnc/xstartup

A continuación, inicie el servidor VNC ejecutando el siguiente comando como un usuario normal. Establezca sus propios valores para la geometría de visualización. Además, utilice el indicador -localhost para permitir conexiones desde el localhost únicamente y, por analogía, solo desde usuarios autenticados en el servidor.

Además, VNC utiliza de forma predeterminada el puerto TCP 5900+N, donde N es el número de visualización. En este caso, :1 significa que el servidor VNC se ejecutará en el puerto de visualización número 5901.

vncserver :1 -localhost -geometry 1024x768 -depth 32

Para enumerar las sesiones del servidor VNC en su sistema, ejecute el siguiente comando.

vncserver -list

Una vez que se haya iniciado el servidor VNC, verifique el puerto en el que se está ejecutando con el comando netstat.

netstat -tlnp

Conexión al servidor VNC a través del cliente VNC

En esta sección, mostraremos cómo conectarse al servidor VNC, pero antes de entrar en eso, debe saber que, de manera predeterminada, VNC no es seguro (no es un protocolo cifrado y puede estar sujeto a rastreo de paquetes). . Este problema se puede solucionar creando un túnel desde la conexión del cliente al servidor a través de SSH.

Al utilizar el túnel SSH, puede reenviar tráfico de forma segura desde su máquina local en el puerto 5901 al servidor VNC en el mismo puerto.

En la máquina cliente Linux, abra una nueva ventana de terminal y ejecute el siguiente comando para crear un túnel SSH al servidor VNC.

ssh -i ~/.ssh/ubuntu18.04 -L 5901:127.0.0.1:5901 -N -f -l tecmint 192.168.56.108

A continuación, instale el cliente vncviewer como TigerVNC Viewer de la siguiente manera (puede instalar cualquier otro cliente de su elección).

sudo apt install tigervnc-viewer		#Ubuntu/Debian
sudo yum install tigervnc-viewer		#CnetOS/RHEL
sudo yum install tigervnc-viewer		#Fedora 22+
sudo zypper install tigervnc-viewer	        #OpenSUSE
sudo pacman -S tigervnc			#Arch Linux

Una vez que se complete la instalación, ejecute su cliente VNC, especifique la dirección localhost:5901 para conectarse y mostrar 1 de la siguiente manera.

vncviewer localhost:5901

Alternativamente, ábralo desde el menú del sistema, ingrese la dirección anterior y luego haga clic en Conectar.

Se le pedirá que ingrese la contraseña de inicio de sesión VNC creada anteriormente, ingrésela y haga clic en Aceptar para continuar.

Si la contraseña es correcta, accederá a la interfaz de inicio de sesión de su escritorio. Ingrese su contraseña para acceder al escritorio.

Atención: si le preocupa la seguridad, es posible que haya notado que el visor VNC muestra "conexión no cifrada" aunque hayamos habilitado Túnel SSH.

Esto se debe a que está diseñado para utilizar esquemas de seguridad específicos distintos del túnel SSH al intentar autenticarse con el servidor. Sin embargo, la conexión es segura una vez que haya habilitado el túnel SSH.

Creación de un archivo de unidad Systemd para el servidor TigerVNC

Para administrar el servidor VNC en systemd, es decir, iniciar, detener y reiniciar el servicio VNC según sea necesario, debemos crear un archivo de unidad para él en Directorio /etc/systemd/system/, con privilegios de root.

sudo vim /etc/systemd/system/[email 

Luego agregue las siguientes líneas en el archivo:

[Unit] 
Description=Remote desktop service (VNC) 
After=syslog.target network.target 

[Service] 
Type=simple 
User=tecmint 
PAMName=login 
PIDFile=/home/%u/.vnc/%H%i.pid 
ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :
ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1024x768 
ExecStop=/usr/bin/vncserver -kill :%i 

[Install] 
WantedBy=multi-user.target

Guarde el archivo y ciérrelo.

A continuación, vuelva a cargar la configuración del administrador systemd para leer el archivo de unidad recién creado, de la siguiente manera.

sudo systemctl daemon-reload

Luego inicie el servicio VNC, habilítelo para que se inicie automáticamente al iniciar el sistema y verifique su estado como se muestra.


sudo systemctl start vncserver@1
sudo systemctl enable vncserver@1
sudo systemctl status vncserver@1

¡Eso es todo! En este artículo, explicamos cómo instalar y configurar el servidor VNC en la distribución Ubuntu de Linux. Comparta sus consultas o pensamientos con nosotros a través del formulario de comentarios a continuación.