This post,
https://blog.simos.info/how-to-use-t...xd-containers/
shows how to set up X2Go in a LXD container and then set up a desktop session (MATE, in this example).
The session has persistence, and can be resumed.
At some point the X2Go will have a HTML5 client, which would make it easy to have the desktop session in the browser (without needing to install packages to the client).
Compared to VNC, X2Go is feature-rich and more user-friendly.