LINUX

Cómo configurar el servidor TigerVNC en Fedora 22

Hola a todos, hoy aprenderemos cómo configurar el servidor TigerVNC en una máquina que ejecuta Fedora 22. TigerVNC es un software informático de red virtual de código abierto que fue una bifurcación de TightVNC. Se centra en el rendimiento y la funcionalidad de visualización remota. Después de su desarrollo inicial, se implementó como el software VNC predeterminado en la distribución Fedora de Linux. Es una implementación poderosa de VNC (Virtual Network Computing) que permite a los usuarios interactuar con entornos de escritorio y aplicaciones gráficas en cajas remotas. En la implementación de VNC hay dos interfaces, una es una aplicación de servidor que se instala y configura en la máquina remota que se va a controlar con pantalla remota, mientras que la otra es una aplicación cliente que se instala en la máquina que controla la máquina remota. TigerVNC proporciona un buen soporte para ejecutar aplicaciones de video y 3D, da la apariencia de la máquina remota como si estuviera en la caja física.

Aquí hay algunos pasos fáciles de hacer sobre cómo podemos configurar el servidor TigerVNC ejecutando entornos de escritorio Mate / Xfce / Gnome en la máquina Fedora 22.

1. Instalación de Mate / Xfce / Gnome / LXDE

Si tenemos una edición mínima de Fedora 22 instalada en nuestra máquina, entonces necesitaremos instalar un entorno de escritorio en nuestra máquina. Podemos instalar cualquier entorno de escritorio en nuestra caja de Fedora 22, pero instalaremos cualquiera de los siguientes entornos de escritorio.

Instalación de Mate

Mate 1.10 es la última versión del entorno de escritorio mate que está disponible en el repositorio oficial de Fedora 22. Por lo tanto, podemos instalar Mate 1.10 en nuestro Fedora 22 con el administrador de paquetes dnf. Para hacerlo, necesitaremos ejecutar el siguiente comando en una consola o terminal.

# dnf groupinstall mate-desktop

Instalación de Xfce

Xfce 4.12 es la última versión del entorno de escritorio Xfce y también está disponible en el repositorio oficial de Fedora 22, lo que nos permite instalarlo con la ayuda del comando dnf.

# dnf groupinstall Xfce

Instalación de Gnome

Gnome 3.16 es la versión actual del entorno de escritorio Gnome disponible en el repositorio oficial de Fedora 22. Por lo tanto, podemos instalarlo ejecutando el siguiente comando.

# dnf groupinstall gnome

Instalación de LXDE

LXDE es el entorno de escritorio más ligero de rendimiento rápido y ahorro de energía en las distribuciones de Linux. Podemos instalar LXDE en nuestra caja de Fedora 22 usando el comando dnf como se muestra a continuación.

# dnf group install "LXDE Desktop"

2. Instalación de TigerVNC

Después de instalar nuestro entorno de escritorio favorito, instalaremos el servidor TigerVNC en nuestra caja de Fedora 22. Como TigerVNC ya está disponible en el repositorio, lo instalaremos usando el administrador de paquetes dnf.

# dnf install tigervnc-server

3. Creando un usuario de VNC

Ahora, como hemos instalado un entorno de escritorio y un servidor tigervnc, crearemos un nuevo usuario llamado vncuser que usaremos para conectarnos al escritorio remoto que ejecuta el entorno de escritorio respectivo en la caja de Fedora 22.

# useradd vncuser

Después de crear un nuevo usuario llamado vncuser, queremos establecer una contraseña de usuario segura. Para hacerlo, ejecutaremos el siguiente comando.

# passwd vncuser

Changing password for user vncuser.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

Entonces, si queremos que vncuser tenga acceso al modo sudo. Ejecutaremos el siguiente comando para otorgarle al usuario acceso sudo o root.

# usermod vncuser -a -G wheel

Nota: Si ya ha creado un usuario en el cuadro y desea utilizar ese usuario para iniciar sesión en VNC, omita este paso 3.

4. Configuración del servidor VNC

A continuación, crearemos una nueva configuración para nuestro usuario de VNC y especificaremos el puerto para la conexión. Para hacerlo, necesitaremos copiar el archivo /lib/systemd/system/vncserver@.service a /etc/systemd/system/vncserver@:1.service. Esto especifica el puerto 5900 + 1, es decir, el puerto 5901, ya que el nombre del archivo es vncserver @: 1.service. Si tiene varios usuarios para VNC, deberá especificar un puerto diferente para ese otro usuario. Podemos hacerlo ejecutando el siguiente comando.

# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

Después de eso, editaremos ese archivo /etc/systemd/system/vncserver@:1.service y reemplazaremos con el usuario con el que queremos conectar el VNC. Aquí, reemplazaremos con vncuser como lo hemos creado antes.

# vi /etc/systemd/system/vncserver@:1.service

Configuración del servicio de Tigervnc

Una vez hecho esto, lo guardaremos y saldremos, luego ejecutaremos lo siguiente para que systemd sepa que hemos modificado la configuración.

# systemctl daemon-reload

Nota: Para agregar otro usuario para configurar con el servidor VNC, podemos realizar las configuraciones anteriores para la siguiente cuenta de usuario. Por ejemplo, si queremos agregar el servicio a otro usuario vncuser2 en el puerto 2, entonces, necesitaremos reemplazar vncserver @: 1.service con vncserver @: 2.service y luego reemplazar con vncuser2.

5. Configuración de una contraseña de VNC

Para configurar una contraseña de VNC, necesitaremos iniciar sesión en el usuario de VNC que acabamos de crear en el paso anterior. La contraseña de VNC es la contraseña que necesitaremos en el futuro para acceder al servidor VNC para obtener acceso al escritorio remoto. Entonces, primero vamos a iniciar sesión en el usuario. vncuser.

# su - vncuser

Después de iniciar sesión en nuestro usuario de VNC, ahora estableceremos una contraseña segura usando el comando vncpasswd.

$ vncpasswd

Password:
Verify:

6. Configuración del entorno de escritorio

Ahora, configuraremos nuestro servidor VNC para ejecutar un entorno de escritorio que ya tenemos instalado. Aquí, primero ejecutaremos vncserver para que se generen los archivos de configuración necesarios. Para hacerlo, necesitaremos ejecutar el siguiente comando dentro del usuario vncuser.

$ sudo systemctl start vncserver@:1

Después de que se generen los archivos de configuración necesarios, detendremos el servicio VNC ejecutando el siguiente comando.

$ sudo systemctl stop vncserver@:1

Luego, editaremos el archivo de configuración para especificar el entorno de escritorio que habíamos instalado anteriormente.

$ nano ~/.vnc/xstartup

A continuación, se muestran las configuraciones que necesitamos para adjuntar al archivo para habilitar esos respectivos entornos de escritorio.

Para mate

#!/bin/sh
#
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# exec /etc/X11/xinit/xinitrc
#
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
mate-session &

Para XFCE

#!/bin/sh
#
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# exec /etc/X11/xinit/xinitrc
#
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
xfce4-session &

Para Gnome

#!/bin/sh
#
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# exec /etc/X11/xinit/xinitrc
#
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
gnome-session &

Para LXDE

#!/bin/sh
#
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# exec /etc/X11/xinit/xinitrc
#
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
startlxde &

7. Inicio del servidor VNC

Ahora, finalmente, después de toda la configuración, iniciaremos nuestro servicio VNC. Usaremos systemd para iniciar nuestro servidor VNC. Para hacerlo, necesitaremos ejecutar el siguiente comando.

$ sudo systemctl start vncserver@:1

Luego, habilitaremos vncserver para que se inicie inmediatamente después de que se inicie el sistema.

$ sudo systemctl enable vncserver@:1

8. Conexión de túnel VNC a SSH

Las conexiones VNC se consideran conexiones inseguras ya que no están encriptadas. Así que tunelizaremos la conexión VNC a SSH para que podamos cifrar y proteger todo el tráfico. Para realizar el túnel, necesitaremos el usuario de inicio de sesión, el puerto y la contraseña del usuario. Aquí está el comando para realizar el túnel en nuestra máquina cliente.

$ ssh -L 5901:127.0.0.1:5901 -N -f -l vncuser 128.199.234.106

Nota: Aquí, se le pedirá una contraseña para realizar el túnel. Tenga en cuenta que es la contraseña para el inicio de sesión SSH o el inicio de sesión del usuario, no la contraseña de VNC. Y el puerto que necesita ser tunelizado es 5901 como se muestra arriba. El comando anterior debe ingresarse en la máquina del cliente VNC.

9. Conexión con un cliente VNC

Para conectarse a un servidor VNC y acceder al escritorio remoto utilizando la dirección IP o el dominio asignado, es decir, 127.0.0.1 como hemos hecho en el paso anterior a través de SSH. Aquí, en este tutorial, tenemos el nombre de usuario como vncuser, la contraseña de VNC como se ingresó anteriormente en el paso 5 y el puerto como 5901. Hay muchos clientes VNC disponibles en Internet, que podemos usar para conectarnos al servidor. Aquí estamos usando Cliente de escritorio remoto Remmina como cliente VNC e ingresaremos la configuración como se muestra a continuación.

Configuración del cliente VNC

Luego, después de presionar Conectar, somos bienvenidos al acceso de escritorio remoto como se muestra a continuación.

Escritorio LXDE VNC

Nota: Si ha terminado con VNC y desea deshabilitar el servidor VNC y no quiere que se inicie automáticamente cuando se inicia el sistema, aquí está el comando que puede usar para detener el servicio vnc y deshabilitarlo para que se inicie en el inicio.

$ sudo systemctl disable vncserver@:1.service
$ sudo systemctl stop vncserver@:1.service

Problema conocido

En algún momento, mientras lo descifra con VNC, puede fallar. Y cuando intentamos iniciar vncservice con systemctl, es posible que obtengamos algún error como se muestra a continuación.

$ sudo systemctl start vncserver@:1

Job for vncserver@:4.service failed. See 'systemctl status vncserver@:1.service' and 'journalctl -xn' for details.

Y cuando comprobamos el error ejecutando systemctl status vncserver @: 1.servicio, obtenemos un error similar al que se muestra a continuación.

● vncserver@:1.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2015-06-29 07:47:10 UTC; 1min 14s ago
Process: 1383 ExecStart=/sbin/runuser -l vncuser -c /usr/bin/vncserver %i (code=exited, status=2)
Process: 1379 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)

Para solucionar el problema

Para solucionar este problema conocido, necesitaremos eliminar los archivos del directorio / tmp /. Eso se puede hacer ejecutando el siguiente comando.

$ sudo rm -rf /tmp/.X11-unix/

Conclusión

Finalmente, hemos instalado y configurado con éxito nuestro servidor VNC llamado tigervnc-server con la integración de diferentes pesos ligeros rápidos a hermosos entornos de escritorio como Mate, Xfce, Gnome y LXDE en una caja de Fedora 22. Como todos los paquetes son estables y están actualizados en el repositorio oficial de Fedora 22, nos hace muy fácil configurar un servidor VNC con eso. Esta tecnología es muy útil cuando tiene un VPS o un servidor lejos que ejecuta Fedora 22 como sistema operativo y necesita trabajar en él con elementos gráficos. De esta forma, ahorramos mucho tiempo en la instalación de máquinas virtuales en nuestra máquina física. Siguiendo el tutorial anterior, podemos agregar más usuarios múltiples con múltiples entornos de escritorio siempre que los entornos de escritorio no se bloqueen entre sí. Si tiene preguntas, sugerencias o comentarios, escríbalos en el cuadro de comentarios a continuación para que podamos mejorar o actualizar nuestros contenidos. Gracias ! Disfrutar 🙂

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar