GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Servidor VNC en Ubuntu 20.04 Focal Fossa Linux

VNC es un sistema que le permite controlar de forma remota otra computadora. Le permite transmitir las entradas de su mouse y teclado como si estuviera físicamente sentado frente al sistema, cuando en realidad podría estar en el otro lado del mundo.

En esta guía, repasaremos los pasos para configurar un servidor VNC en su sistema Ubuntu 20.04. Cuando hayamos terminado, podrá acceder a su sistema de forma remota desde cualquier lugar, siempre que su sistema cliente y el servidor VNC tengan una conexión a Internet.

En este tutorial aprenderás:

  • Cómo instalar y configurar el servidor TightVNC
  • Cómo instalar y configurar el administrador de escritorio XFCE
  • Cómo conectarse a nuestro servidor VNC con TightVNC Viewer
  • Cómo tunelizar conexiones VNC a través de SSH
  • Cómo administrar múltiples escritorios VNC con un script de Systemd

Conexión a un servidor VNC

Instalar servidor VNC

Primero necesitaremos instalar algunos paquetes. Hay múltiples opciones para el software del servidor VNC, pero usaremos TightVNC Server para este tutorial. Junto con VNC, también necesitamos un escritorio gráfico. XFCE es una buena opción, así que eso es lo que cubriremos aquí.

  1. Comience abriendo una terminal e ingrese el siguiente comando para instalar el servidor TightVNC y los archivos principales del administrador de escritorio XFCE:
    $ sudo apt install tightvncserver XFCE4 XFCE4-goodies
    
  2. Después de que los paquetes terminen de instalarse, debemos configurar un nombre de usuario y una contraseña que un cliente usará para conectarse al servidor VNC. Crea una contraseña con este comando:
    $ vncpasswd
    
  3. A continuación, configuremos VNC para iniciar el entorno de escritorio XFCE cuando se conecta un cliente. Use nano o el editor de texto de su preferencia (por ejemplo, Atom, Sublime) para crear el siguiente archivo:
    $ nano ~/.vnc/xstartup
    
  4. Inserte las siguientes líneas y luego guarde sus cambios y salga del archivo:
    #!/bin/sh
    unset SESSION_MANAGER
    unset DBUS_SESSION_BUS_ADDRESS
    startxfce4 &
    

    archivo de configuración xstartup
  5. Con esos cambios realizados, edite los permisos del archivo para hacerlo ejecutable:
    $ chmod +x ~/.vnc/xstartup
    

Iniciar servidor VNC

VNC se ejecuta como un servicio en su sistema. Para que los clientes se conecten, el servidor VNC obviamente debe estar ejecutándose y escuchando los intentos de conexión entrantes. Con nuestra configuración completa, estamos listos para iniciar el servidor VNC con el siguiente comando:

$ vncserver

Si su terminal devuelve algún resultado como en la captura de pantalla a continuación, su servidor VNC se está ejecutando correctamente.

Iniciar servidor VNC

VNC utilizará un nuevo puerto para cada escritorio remoto que se cree. En este punto, su sistema debería estar escuchando en el puerto 5901 para conexiones VNC entrantes. Puedes verlo por ti mismo con ss -ltn comando:

$ ss -ltn

VNC escuchando en el puerto 5901

Si tiene habilitado el firewall UFW, deberá abrir el puerto 5901 para que no bloquee las conexiones VNC entrantes:

$ sudo ufw allow from any to any port 5901 proto tcp
Rule added
Rule added (v6)

Conectarse al servidor VNC

Hay muchas opciones en el camino de los clientes VNC y cualquiera de ellos debería ser capaz de conectarse a su servidor VNC recién lanzado. Si aún no tiene un cliente preferido para usar, síganos mientras cubrimos las instrucciones para conectarse al servidor VNC con TightVNC Viewer.

  1. Comience instalando el xtightvncviewer paquete en su sistema cliente Ubuntu:
    $ sudo apt install xtightvncviewer
    
  2. Una vez que el cliente VNC está instalado, puede usar el vncviewer comando, seguido del nombre de host o la dirección IP del servidor VNC, para conectarse a él.
    $ vncviewer linuxconfig.org:1
    

    Ingrese su contraseña que creamos previamente al configurar el servidor VNC. Si todo salió bien, se le presentará una sesión de escritorio XFCE ejecutándose en el sistema Ubuntu del servidor VNC remoto:

    Conectarse al servidor VNC

Túnel VNC a través de SSH

Para mayor seguridad, puede tunelizar la conexión VNC a través de SSH en su servidor VNC. Por supuesto, esto supone que tiene acceso SSH en el servidor VNC. Si desea seguridad adicional, siga estos pasos:

  1. Si aún no tiene SSH instalado, ese es un requisito previo bastante obvio para que esto funcione:
    $ sudo apt install ssh
    
  2. Luego, cree un túnel SSH en un puerto local 5901 que conduzca a un puerto remoto 5901 en su servidor VNC. En el siguiente comando, asegúrese de reemplazar user1 y linuxconfig con el nombre de usuario y el nombre de host de su servidor VNC:
    $ ssh -L 5901:127.0.0.1:5901 -N -f -l user1 linuxconfig
    

    El comando anterior abrirá un puerto local 5901 en una interfaz de red de bucle invertido de host local 127.0.0.1 :

    $ ss -ltn
    State       Recv-Q Send-Q Local Address:Port               Peer Address:Port
    LISTEN      0      128       0.0.0.0:22                    0.0.0.0:*
    LISTEN      0      5       127.0.0.1:631                   0.0.0.0:*
    LISTEN      0      128     127.0.0.1:6010                  0.0.0.0:*
    LISTEN      0      128     127.0.0.1:6011                  0.0.0.0:*
    LISTEN      0      128       0.0.0.0:38299                 0.0.0.0:*
    LISTEN      0      128     127.0.0.1:5901                  0.0.0.0:*
    
  3. Luego, use el puerto local 5901 para conectarse a un servidor VNC remoto a través del túnel SSH:
    $ vncviewer localhost:1
    

Script de inicio del sistema del servidor VNC

Si bien esta configuración funciona, es posible que tenga un escenario en el que necesite administrar varias sesiones de escritorio de VNC. En ese caso, la creación de un script de inicio de systemd puede facilitarlo.

Use nano u otro editor de texto para crear el siguiente archivo:

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

Una vez que haya abierto el archivo, inserte las siguientes líneas mientras reemplaza el user1 nombre de usuario con el nombre de usuario de su usuario VNC en la Línea 7 y la Línea 10. Opcionalmente, cambie la configuración de resolución de pantalla y aplique otro vncserver opciones o argumentos:

[Unit]
Description=Systemd VNC server startup script for Ubuntu 20.04
After=syslog.target network.target

[Service]
Type=forking
User=user1
ExecStartPre=-/usr/bin/vncserver -kill :%i &> /dev/null
ExecStart=/usr/bin/vncserver -depth 24 -geometry 800x600 :%i
PIDFile=/home/user1/.vnc/%H:%i.pid
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

archivo de inicio systemd

A continuación, vuelva a cargar Systemd para que los cambios surtan efecto:

$ sudo systemctl daemon-reload

Para iniciar el escritorio VNC 1 , introduce:

$ sudo service vncserver@1 start

Para detener el escritorio VNC 1 , ejecutar:

$ sudo service vncserver@1 stop

El siguiente comando de Linux habilitará el escritorio VNC 1 para comenzar después de reiniciar:

$ sudo systemctl enable vncserver@1

Para iniciar el escritorio VNC 2 , introduce:

$ sudo service vncserver@2 start

Y así sucesivamente…

Conclusión

En esta guía, vimos cómo instalar y configurar TightVNC Server en Ubuntu 20.04 Focal Fossa. Instalamos el administrador de escritorio XFCE para que nuestros clientes VNC lo usen cuando se conecten.

También aprendimos a usar TightVNC Viewer para conectarnos de forma remota a nuestro servidor VNC. Además de todo esto, también cubrimos cómo tunelizar las conexiones VNC a través de SSH para mayor seguridad y usar un script de inicio Systemd personalizado para administrar de manera eficiente múltiples conexiones de escritorio VNC.


Ubuntu
  1. Cosas que hacer después de instalar Ubuntu 20.04 Focal Fossa Linux

  2. Cómo configurar el servidor FTP en Ubuntu 20.04 Focal Fossa Linux

  3. Contraseña raíz predeterminada en Ubuntu 20.04 Focal Fossa Linux

  4. Cómo configurar el servidor SFTP en Ubuntu 20.04 Focal Fossa Linux

  5. Cómo instalar LaTex en Ubuntu 20.04 Focal Fossa Linux

Deshabilitar actualizaciones automáticas en Ubuntu 20.04 Focal Fossa Linux

Cómo instalar Yarn en Ubuntu 20.04 Focal Fossa Linux

Cómo instalar Go en Ubuntu 20.04 Focal Fossa Linux

Instalar VirtualBox en Ubuntu 20.04 Focal Fossa Linux

Instale Lutris en Ubuntu 20.04 Focal Fossa Linux

Instale Python 2 en Ubuntu 20.04 Focal Fossa Linux

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema Ubuntu 20.04 Focal Fossa instalado o actualizado
    Software Servidor TightVNC, administrador de escritorio XFCE, Visor TightVNC
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios