If your server doesn’t have a desktop environment, you can install one easily, in a “containerized” way.

  1. Install Docker if it’s not already installed (Install Docker).
  2. You can use one of these images, or any other you find:
    • accetto/ubuntu-vnc-xfce-firefox-g3 (GitHub)
      docker run -d -p 80:6901 -v /dev/shm:/dev/shm --name ubuntudesktop accetto/ubuntu-vnc-xfce-firefox-g3

      username: headless / password: headless accetto container

    • dorowu/ubuntu-desktop-lxde-vnc (GitHub)
      docker run -d -p 80:80 -v /dev/shm:/dev/shm --name ubuntudesktop dorowu/ubuntu-desktop-lxde-vnc

      dorowu container

    • (ARM) neuroidss/ubuntu-xfce-vnc (GitHub)
      docker run -d -p 80:6901 --user 0 neuroidss/ubuntu-xfce-vnc:latest

      password: vncpassword neuroidss container

  3. Then, go to:
    • http://<SERVER-PUBLIC-IP>/vnc.html (accetto / neuroidss).
    • http://<SERVER-PUBLIC-IP> (dorowu).

Find server’s public IP.

If you have any suggestion, feel free to contact me via social media or email.