Can a Linux VNC server scale the resolution to the client size?

I have a fairly small resolution (vertically) on my work PC and need to VNC into an Ubuntu desktop. At 1024*768 the window needs to scroll and rolls off the monitor's edge.

With VirtualBox, the guest's screen resolution scales to the size of the Vbox window (with guest additions installed) - is there any way I can get the same behaviour with VNC? I'm using RealVNC VNC Viewer.


Also the Remmina "GTK+ Remote Desktop Client" can do client-side scaling.


It's always risky to give a "No." answer to existence questions, because all it takes is a single counter example to completely refute, but let's go: no. That is not how explicitly VNC works.

You can however change the resolution with xrandr on the remote computer, but it is not VNC that would do this. The best a VNC viewer can do is give you a scrollable window.

Another option is to start a separate VNC server for your remote needs. Then you can choose the resolution you want. You can even connect to it locally on the remote machine if you need to do some work there as well. E.g.

vncserver -geometry 800x600

will start a VNC server on another display (e.g. :1 on port 5901 as compared to the default on :0, port 5900) in the background that you can connect to remotely.

More random tips: if you resize the applications to the VNC viewer's window size manually, it will emulate native resolution quite well, I find.


Yes, TigerVNC can do this. However, it's a fairly new feature so I'm not sure it has made it into distributions yet.


A bit late to the party but x11vnc will allow you to scale the footage before streaming it to you (saving bandwidth and yet still providing the larger resolution to applications).

https://linux.die.net/man/1/x11vnc

Check out the -scale option.