GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instalar y configurar el servidor VNC en Ubuntu 16.04

La forma tradicional de administrar el servidor es a través de ssh y línea de comandos. Pero a veces necesita ejecutar alguna aplicación con una GUI en un servidor, y dado que normalmente no se sienta al lado del servidor e incluso si lo hace, es posible que el servidor no tenga monitor ni teclado, necesita algún tipo de escritorio remoto.

VNC es una buena solución para esto que se usa ampliamente y es bastante fácil de configurar. Ubuntu tiene TightVNC en repositorios y en este tutorial configuraremos un servidor TightVNC multiusuario en Ubuntu Server 16.04.

Para GUI usaremos XFCE, que es una alternativa más ligera a GNOME y Unity.

Instalar Servidor VNC (Tight VNC) y Escritorio (XFCE)

Primero comenzamos instalando el servidor TightVNC y el entorno de escritorio XFCE.

sudo apt install gnome-core xfce4 firefox xfce4-goodies tightvncserver

Luego, debemos configurar el servidor VNC con una contraseña para iniciar sesión como usuario 'miki'

vncserver

También le pedirá una contraseña de solo lectura, la necesita si quiere que alguien se conecte a su sesión de VNC sin controlar el cursor y el teclado, solo como espectador. Esta contraseña debe ser diferente a su contraseña principal. Si no planea tener espectadores, puede optar por no ingresar la contraseña de solo vista. Una vez que se complete este proceso, la instancia de VNC se iniciará en el puerto 5901 y el servidor VNC contará este puerto como:1. Si inicia varias instancias de VNC, tendrá varios puertos de visualización e incrementará ambos números en 1, a:2 y 5902 y así sucesivamente para cada instancia. Para continuar con la configuración, en realidad necesitamos eliminar todas las instancias del servidor VNC. Hacemos esto con el siguiente comando:

vncserver -kill :1

Una vez hecho esto, se puede editar el archivo de configuración para el servidor VNC para seleccionar qué entorno de escritorio se iniciará al conectarse al servidor VNC. El archivo del que estoy hablando se llama xstartup y se encuentra dentro del directorio oculto .vnc en ~/ dir. Primero hagamos una copia de seguridad de este archivo

mv ~/.vnc/xstartup ~/.vnc/xstartup.backup

Y luego crea un nuevo archivo desde cero

nano ~/.vnc/xstartup

En este archivo vacío, pegue estas pocas líneas:

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

Agregar bit ejecutable al archivo tihs

sudo chmod +x ~/.vnc/xstartup

A continuación, podemos volver a iniciar el servidor VNC

vncserver

Conectando al servidor VNC

A continuación, debemos conectarnos al servidor VNC para ver si nuestra configuración funciona. Podemos usar cualquier cliente VNC, como por ejemplo Vinagre o Remote Desktop Viewer, como también se le llama. Primero instálelo e inícielo

sudo apt install vinagre

Ingrese el nombre de su servidor, puerto 5901 y haga clic en conectar. Se le debe solicitar su contraseña y luego debe ingresar a XFCE

Puede conectarse a esta sesión desde un número ilimitado de computadoras, pero entonces todos estarían controlando un cursor del mouse y tendrían la misma sesión. Si algunos de los usuarios ingresan la contraseña de solo visualización (siempre que haya creado una), no tendrán control del cursor, pero aún estarán en una sola sesión y verán la misma pantalla.

Múltiples usuarios

Es posible tener varias sesiones de VNC que no interfieran entre sí. Esto se hace creando un número arbitrario de usuarios y cada usuario tendrá su propio puerto de visualización y su propia instancia de servidor VNC. Y, a su vez, ejecutará su propia instancia de entorno de escritorio, o podría ser un DE completamente independiente. Comencemos primero agregando un nuevo usuario

sudo adduser newuser

A continuación, iniciamos sesión como ese usuario

su newuser

Y hagamos una contraseña para el nuevo usuario

vncserver

Además de la contraseña, esto también creó un nuevo proceso que escucha en el puerto 5902. Necesitamos eliminar este proceso para poder editar el archivo de configuración.

vncserver -kill :2

Y necesitamos repetir el proceso de antes. Primero haga una copia de seguridad del archivo xstartup

mv ~/.vnc/xstartup ~/.vnc/xstartup.backup

Luego crea uno nuevo desde cero

nano ~/.vnc/xstartup

Pasadas tres líneas abajo

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

Y hazlo ejecutable:

sudo chmod +x ~/.vnc/xstartup

Ahora ejecute vncserver para generar el proceso

vncserver :2

Y ahora puede conectarse en el puerto 5902 y tener una sesión separada.

Cómo configurar el túnel SSH

Hasta ahora logramos hacer la conexión directamente en los puertos de pantalla, en nuestro caso 5901 y 5902. Pero, ¿qué sucede si esos puertos están cerrados por el firewall y, por alguna razón, no es práctico abrirlos? Hay una solución en ese caso, podemos usar túneles SSH. El puerto 22 o cualquier otro puerto que use para el acceso SSH en un servidor se puede usar para engañar al visor VNC de que el servidor VNC se está ejecutando en localhost en el puerto 5901 o 5902. Con este comando está estableciendo un túnel SSH:

ssh -L 5902:127.0.0.1:5902 [email protected]

Asegúrese de cambiar la parte resaltada a su dirección IP y nombre de usuario.

Después de esto, puede iniciar Vinagre o Remmina e ingresar localhot:5902 como su dirección. Pensará que el escritorio remoto está en localhost y enrutará el tráfico a través del puerto ssh a su servidor, siempre que la conexión SSH esté activa.

Hacer las unidades systemd

Todo esto está bien cuando configura manualmente el usuario y el servidor a través de SSH, pero debe volver a hacerlo en cada reinicio del servidor. Entonces, para evitar eso, hagamos un archivo de unidad systemd. Ese es el nuevo nombre elegante del script de inicio de la vieja escuela. De hecho, necesitaremos hacer dos para dos usuarios, primero creemos uno

sudo nano /etc/systemd/system/[email protected]

Ahí sí pon esta configuración

[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=miki
PAMName=login
PIDFile=/home/miki/.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

Luego haces otro:

sudo nano /etc/systemd/system/[email protected]

Y pegue lo mismo, solo que en ambos casos cambie el nombre de usuario para sus propios usuarios. Ahora necesitamos eliminar los procesos antiguos si aún se están ejecutando y volver a cargar los archivos de la unidad

vncserver -kill :2
vncserver -kill :1

sudo systemctl daemon-reload

Y empieza a usar archivos unitarios

sudo systemctl start vncserver@1

sudo systemctl start vncserver@2

Y si desea un servidor vnc en cada arranque, haga una vez más lo mismo que arriba, solo habilite en lugar de iniciar.

Conclusión

En este tutorial aprendimos cómo instalar y configurar el servidor VNC con dos usuarios en Ubuntu 16.04. Si tiene alguna pregunta o comentario, no dude en dejar un comentario.


Ubuntu
  1. Cómo instalar y configurar un servidor NFS en Ubuntu 20.04

  2. Cómo instalar y configurar VNC en Ubuntu 20.04

  3. Cómo instalar y configurar el servidor DHCP en Ubuntu 20.04

  4. Cómo instalar y configurar el servidor Redis en Ubuntu

  5. Instale el servidor y el cliente vnc en Ubuntu

Cómo instalar y configurar el servidor VNC en Ubuntu 20.04 LTS

Cómo instalar y configurar el servidor OpenLDAP en Ubuntu 16.04

Cómo instalar y configurar el servidor VNC en Ubuntu 20.04

Cómo instalar y configurar VNC en Ubuntu Server 20.04

Instalar y configurar Virtualmin en el servidor Ubuntu 20.04 / Debian 10

¿Cómo instalar y configurar VNC en Ubuntu 20.04?