While VNC is often used to connect to a Linux desktop environment remotely, X2Go is a secure alternative tunneled over SSH. X2Go supports sound by default using Pulseaudio, and file and printer sharing can be done from client to server.
X2Go supports XFCE, LXDE, and MATE desktops. This guide will walk through setting up XFCE with X2Go on Ubuntu, Debian, and CentOS (not yet supported on CentOS 8).
A Hostwinds Cloud VPS or Dedicated Server
Create a sudo user if not already created (CentOS) (Ubuntu).