Blog del Podcast
podcast      GitHub      Twitter   Telegram

TigerVNC. Servidor VNC en Manjaro

Tiempo estimado de lectura: 8 minutos. 945 palabras. vnc

TigerVNC es uno de los servidores que más me gusta para conectarme a mis escritorios remotos, ya que no solo me permite acceder al escritorio que está abierto, sino también abrir diferentes instancias en paralelo dentro de una misma sesión. Esto significa que varios usuarios pueden estar utilizando la misma sesión de usuario con diferentes entornos de escritorio, como puede ser i3, LXDE, gnome,etc…

Es una posible solución práctica si te inicias en gestores de ventana como i3wm y no sabes cómo configurar ciertos parámetros, arrancas un escritorio en paralelo dentro de la misma sección y lo configuras de un modo más amigable.

También es posible que no te guste que te vean como estás trabajando remotamente, en el lugar donde está situado el PC. Si accedes remotamente y hay una persona delante del PC, esa persona verá como mueves el cursor del ratón, abres ventanas, etcétera…

Arrancando una nueva instancia, no es necesario iniciar tu sesión de usuario y si está abierta podrás abrir una nueva sesión donde acceder a todos los archivos sin necesidad que te vean cómo estás trabajando remotamente.

Otra idea interesante sería montarlo en un servidor, donde todos los usuarios tienen acceso a la misma sesión de usuario, compartiendo aplicaciones y archivos en común, puediendo estar trabajando desde diferentes PC con pocos recursos.

Sea cual sea el uso que quieras darle, este servidor VNC no te decepcionará ya que es muy sencillo de instalar y muy liviano.

Instalar TigerVNC

sudo pacman -S tigervnc

Este cliente incluye tanto el servidor como el cliente para conectarnos al servidor por vnc.

Establecer una contraseña para conexiones remotas

vncpasswd

Nos pedirá que establezcamos una contraseña para conectar el cliente al servidor de un modo más seguro. Introduciremos las contraseña 2 veces, para no cometer errores y después nos preguntará si queremos introducir la contraseña para una sesión donde no podremos interactuar, solo ver. En mi caso indicaré que no n

Designar asignaciones de usuarios y escritorios virtuales

sudo nano /etc/tigervnc/vncserver.users

Dentro de este documento, asignará un escritorio virtual a usuarios específicos. Haces esto usando el formato de: 1 = nombre de usuario. El documento que hay, hay un par de ejemplos.

Los dos puntos al principio de la línea son obligatorios, el número que sigue a los dos puntos representa el escritorio virtual que también representa el puerto que se usará para las conexiones remotas. Por ejemplo, :1 es el puerto 5901, :2 es el potenciómetro 5902.

TigerVNC User assignment
#
#

Entornos de escritorios disponibles

Vamos a conocer los entornos de escritorios disponibles. Para ello haremos un ls en el siguiente directorio:

ls -1 /usr/share/xsessions

gnome-classic.desktop
gnome-classic-xorg.desktop
gnome.desktop
gnome-xorg.desktop
i3.desktop
i3-with-shmlog.desktop
LXDE.desktop
openbox.desktop
openbox-kde.desktop

Configurar configuración de usuario

En el directorio de inicio del usuario, crearemos el archivo de configuración para decirle a TigerVNC qué entorno de escritorio usar y la resolución.

nano ~/.vnc/config

Agrega o edita las siguientes líneas que están en el archivo de configuración. En mi caso voy a utilizar LXDE, con una resolución de 1920x1080, y poder acceder desde fuera de la máquina host con alwaysshared.

session=LXDE
geometry=1920x1080
alwaysshared

Si te gusta ir cambiando de resoluciones, escritorios,…. puedes añadir más opciones y hacer uso de # para ir comentando…

session=LXDE
#session=i3
#session=gnome


geometry=1920x1080     #pc
#geometry=500x1024     #movil


#localhost             #solo local
alwaysshared

La resolución en este ejemplo es de 500x1024, que es una resolución muy optima para consumir desde mi móvil y en posición vertical.

localhost está comentado con una # delante para poder acceder fuera de la maquina host. Si quitamos la #, no podremos acceder desde fuera de la máquina, solo desde la propia máquina.

Conocer la resolución de mi monitor y resoluciones disponibles

Con este comando, puedo conocer la resolución actual

xrandr |grep '*'

Para conocer todas las resoluciones disponibles, ejecuta el siguiente comando:

xrandr

Instalar LXDE

Si te gusta como a mí LXDE y quieres instalarlo en tu máquina, introduce el siguiente comando:

sudo pacman -S lxde

Pulsa Enter para instalar todos los paquetes sugeridos para LXDE.

Se instalarán lxde-common, lxde-icon-theme, pacmanfm,…

Iniciar servidor

Para iniciar el servidor en la primera instancia, es tan sencillo como:

vncserver :1

Este servidor correrá por el puerto 5901.

Si queremos arrancar más instancias independientes, ejecutaremos tantas como necesitemos y cada una de estas irán ocupando los puertos 5902, 5903,…

vncserver :2
vncserver :3
vncserver :4
...

Accederesión abierta

x0vncserver -display :0 -passwordfile ~/.vnc/passwd

Crear un servicio para correr TigerVNC en segundo plano

Para la sesión **:1**, crearemos el archivo tigervnc@:1.service

sudo nano /etc/systemd/system/tigervnc@:1.service

Pega el texto a continuación en el archivo y reemplaza el usuario angel por tu usuario.

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

[Service]
Type=simple
User=angel
PAMName=login
PIDFile=/home/angel/.vnc/%H%i.pid
ExecStart=/usr/bin/vncserver :1
ExecStop=/usr/bin/vncserver -kill %i

[Install]
WantedBy=multi-user.target

Habilita el servicio con:

sudo systemctl enable tigervnc@:1.service

Inicia el servicio con:

sudo systemctl start tigervnc@:1.service

Revisa el estado del servicio con:

sudo systemctl status tigervnc@:1.service

Ver puertos

Para comprobar que realmente funciona el servidor y que el puerto está disponible, ejecuta el siguiente comando:

ss -tulpn

Otro modo de ver puertos

Instala net-tools

sudo pacman -S net-tools

Veamos los puertos que coincidan por 590

netstat -tln | grep 590  

No se salir de mi cliente vnc

Si maximizas la pantalla en tu PC cliente y no sabes salir, si está máquina tiene habilitado un servidor SSH, siempre puedes conectarte y si estás utilizando por ejemplo remmina, hacer un kilall remmina.


Publicado por Angel el Friday 06 January del 2023 y actualizado el Sunday 16 July del 2023



También te puede interesar:




Powered by org-bash-blog

Written in OrgMode with Emacs and converted to HTML with Pandoc

Licencia de Creative Commons
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.