Objetivo: acceder a escritorio remoto.
Como estamos en Ubuntu Server, por defecto no tenemos entorno de escritorio.
sudo apt update && sudo apt install -y xfce4 xfce4-goodies
Podríamos probarlo con startxfce4
, pero no lo haremos porque no hay monitor (“headless”).
Tenemos que instalar el servidor VNC para poder entrar en el entorno de escritorio.
Como VNC es un protocolo abierto, hay muchos servidores posibles: TightVNC, TigerVNC, x11vnc…
sudo apt install -y tigervnc-standalone-server
Una vez instalado, debes crear una contraseña para acceder al servidor:
vncpasswd
La contraseña es para ver e interactuar en el servidor. También te dejará crear otra para invitar a gente sólo a que vea lo que haces. Comprueba que se ha guardado:
cat ~/.vnc/passwd # no se ve porque está hasheada, y está en hexadecimal
hexdump ~/.vnc/passwd
nano ~/.vnc/xstartup
Haremos que arranque el entorno de escritorio cuando se arranque el servidor:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
Ponle permisos de ejecución:
chmod u+x ~/.vnc/xstartup
nano ~/.vnc/config
Configuramos resolución y densidad de píxeles (dpi). Hay más opciones.
geometry=1920x1080
dpi=96
Arrancamos el servidor VNC, y con él el entorno de escritorio XFCE:
vncserver -localhost no # importante para que abra el puerto
Resultado:
New Xtigervnc server 'spavbprofe:1 (ubuntu)' on port 5901 for display :1.
Fíjaet que en el output pone desktop at :1
. Ese es el número de pantalla. En principio VNC usa el puerto UDP 5900, y a ese número se le van sumando puertos según las pantallas que crees: 5901 en este caso.
Antes de conectar, vamos a comprobar si la sesión está activa:
vncserver -list
Resultado:
TigerVNC server sessions:
X DISPLAY # RFB PORT # PROCESS ID SERVER
:1 5901 187 Xtigervnc
:2 5902 1203 Xtigervnc
Matar una sesión:
vncserver -kill :1
Fuente e información extra (crear un servicio que se ejecute automáticamente): https://linuxize.com/post/how-to-install-and-configure-vnc-on-ubuntu-20-04/
Usaremos RealVNC Viewer, que tiene versiones para todos los dispositivos. Hasta hay para teléfono móvil y tablet.
XRDP es una versión libre de Microsoft Remote Desktop Protocol (RDP). Puedes verlo en el tutorial: https://linuxize.com/post/how-to-install-xrdp-on-ubuntu-20-04/
--