I’ve had X2goserver running on a box for years now. It started with the need to access my private stuff from work as I’m no fan of mixing private and work related things or put it in the cloud. Webmail with several accounts, chat clients and logins for a bunch of websites also gets annoying to manage between machines.
Tried out VNC and the like but they were all slow and looked like crap, so I ended up with X2go. Even though it’s slower than being physically on the machine (surprise) it’s way better.
The best thing about it is the ability to suspend/resume sessions.
When you close the window, it automatically suspends the session. That means that when you reconnect (from any machine) the desktop is just like you left it with all the applications till running.
If you go to another computer and connect with the other one still connected, you can suspend the session from the new machine and reconnect.
It resizes the desktop relative to the window, so if you connect from a machine with a 1080p screen and move to another with 1440p you still get the same clear picture but with more real estate when you resume the session.
There’s printer, clipboard, sound and folder sharing etc between client/server, but I’ve never used anything but sound and clipboard.
If you have SSH keys you can create desktop icons from the X2goclient and launch a session directly without having to open the client first.
It’s incredibly fast and easy to install and get up and running (at least on Arch-like distros) so it’s also great for temporary stuff. For example connecting to a box that you have just installed but need to work on later without having to move out of that comfy squeaky bigpod chair.
To install it on the “server”:
(You have to have SSH server enabled and open ports if you have a firewall installed)
pacman -S x2goserver
sudo x2godbadmin –createdb
sudo systemctl start x2goserver.service
Start it on boot:
sudo systemctl enable x2goserver.service
On the other machine:
pacman -S x2goclient
Start the client and enter a name for the connection, a server IP (or name), username (that you use on the server) and select the appropriate session type (desktop).
Leave everything else as default and test it.
Use it with light desktops like xfce, mate etc. Fancier desktops don’t run well.