I've been trying to setup a remote developer workstation environment on an Ubuntu server (behind an lxc container, accessing with a Mac client), but the results are far from satisfying.<p>I've tried the following: native X forward, vnc (with and without xvfb), xrdp, x2go, even guacamole (with both vnc and rdp), but some things seems to be hopelessly broken across the board, e.g. there is no clipboard sharing/sync, non-US keyboard layouts do not really work, and TAB and other special keys usually don't work the way I expect them.<p>Do you have a remote workstation setup that does not suck?
Nomachine. It's licensing is somewhat confusing; it is free for "personal use" but clarifies that you as an individual accessing a non-shared machine dedicated to you is under that umbrella; what they don't want you doing is setting up shared terminal servers &c. without paying them money.<p>I have no idea if the above would be covered under that, but it is so much better than any remote setup I've used that I would pay for it in an instant.<p>Link: <a href="https://www.nomachine.com/" rel="nofollow">https://www.nomachine.com/</a>
I just run my editor locally on my personal machine, and have it access all the files on the remote machine via SSH. In Emacs, this is as easy as typing in a slightly longer filename: /remotehost:path/to/file.cpp. Everything else about the editing session is the same as it would be if the file were local. The compile command operates in the remote directory, debugging operates out of the remote directory, all as you would expect.<p>Just make sure you configure your local machine so that all ssh commections to the remote machine use key-based authentication, so that Emacs doesn't have to prompt you for a password when it connects. SSH can also share connections between ssh processes, which speeds everything up. In the ssh_config documentation look for the ControlMaster option for how to set it up.<p>The advantage of this setup is that your editor stays on your local machine where your keyboard is correctly configured, but your work is all on the remote machine as desired. I'm sure other editors can be configured similarly.