More Remote Access with VNC Servers and Clients

Last time I wrote about remote access it was to talk about RDP clients for Linux. Now it is time to have a look at using VNC, which is better supported as a server for Linux than RDP. Ubuntu comes with what is called “Desktop Sharing” which can also be installed as the vino package. This is a straightforward and easy to set up VNC server for your computer. I am only using it on my home network, not over the Internet – if you need to do the latter you should set it up to work over SSH. I have never set up any remote access to my home network over the Internet and don’t plan to do so in the future.
Some instructions here
You will also need a VNC client. TightVNC which I used on Windows is capable but is no longer produced natively for Linux as the producers have focused exclusively on Windows for their present and future development of the native client. It is possible however to have it running on Java but I want a native client.
From this I can see a few recommended options like Vinagre. This was easy to install, but terrible to use. It was incredibly slow to update the screen. So I ditched it pretty quickly.
Here is another article that is worth a look:
From that article I have tried installing TigerVNC (which is in fact a TightVNC fork), but it won’t run on my system. So for now I am playing with Remmina. This at least will give me access to all three screens (on MainPC) in one wide window I can scroll across. There is still a lag I am not quite used to when typing and moving the cursor around. Having used Remmina quite extensively with RDP clients you don’t see these sort of delays on RDP so maybe there is just something to adjust in the configuration, but it could also be Vino that is responsible for the slowish performance. I noticed in the article they used X11VNC rather than Vino. TurboVNC looks good as a client but turns out to require Java, which I don’t see the point of, as this computer is going to have resource challenges running it. 
Back to the the website and we have a separate section on VNC servers worth looking at:
This one talks about both Vino and X11VNC. I chose at this juncture to remove the former and install the latter. The instructions for X11VNC are very useful simply because this software’s man page reveals a huge number of configuration options. Well as soon as I got X11VNC running I can see that immediately it is way better than Vino. This well and truly justifies the high praise that the combination got in the TechRadar report mentioned above. In fact I am finishing off this blog post from a remote machine running Remmina accessing MainPC running X11VNC and the result is as good as RDP, flawlessly smooth response for both keyboard and mouse, the colours look great and so on. Although Remmina doesn’t appear to provide a way of displaying the client window over multiple local monitors it provides quite a painless way when it is in full screen mode of scrolling between the server’s monitors by simply displaying them from left to right and moving the mouse to the right or left simply causes the client to scroll across to the next monitor. Switching between virtual desktops on the server was quite straightforward as well. So I can see that if I choose to work in the lounge with the only PC there now being a fairly lightweight AMD E350 which even with 8 GB of RAM is quite stretched running more than a web browser and definitely struggling with more than a few browser tabs open, then I do have the option of VNCing to one of the other computers. It is further interesting that starting VirtualBox on MainPC provided another means of interacting with it as a pair of windows on MainPC, compared to remoting to it with Remmina. As Remmina does not have the ability via RDP to handle multiple windows, using it under VNC is a more desirable option, although of course I do have the ability to also use XFreeRDP on this computer to get to the VM as previously mentioned.
So all round getting VNC working on my computers is a great move forward due to the location of where computers are currently being used and their various capabilities.