I do this often but a little less complicated than what is proposed here.<p>* Start with an Ubuntu Server base<p>* Install tasksel: sudo apt install tasksel<p>* Install the Xubuntu core desktop: sudo tasksel install xubuntu-core<p>* Install XRDP: sudo apt install xrdp<p>Then two small changes to make XRDP work:<p>* sed -i 's/allowed_users=console/allowed_users=anybody/g' /etc/X11/Xwrapper.config<p>* echo "startxfce4" > ~/.Xclients<p>Give the machine a reboot and you're good to go. You can log in with an RDP client and continue configuring as you see fit.
> systemctl disable unattended-upgrades<p>That's a bad advice and it really has no place in this article. Please leave your automatic update in place.
Cool guide but I'd change one thing:<p><pre><code> echo mynewuser:mynewpassword | sudo chpasswd
</code></pre>
If you set the password using echo like this it will log the plaintext password in the current user's .bash_history file.
These types of setups have their uses! I have tried to achieve similar setups in the past using a Fedora VM running VNC server and a Chromebook running VNC client. One pain point that you might not expect is how the client handles the Crtl, Alt, and Windows key modifiers. Browser-based clients especially will not pass these through, and thust interfacing with the remote system is usually not as convenient as many newcomers expect.
I appreciate the general sentiment in having a reproducible work environment. But I must ask if the complexity of running and tunneling X is needed -- what desktop software are you running in this environment?