Best fullscreen solution for vnc on linux

For development, I primarily depend on Eclipse and a GNU Screen session in a terminal. At work, I have dual monitors, and have them usually maximized on each of the screens. When I work from home, I just work on my laptop screen. For optimal solution, I login via SSH and grab the screen session on to it, but for graphical programs such as Eclipse I have tried the following:

  • Enable remote desktop and connect to the console via a VNC viewer. This gives me a one large contiguous screen from both monitors, which makes it slow and scrolling is a pain. Besides, I really only need one side of the screen, as the other side (running GNU Screen) is already taken care of via ssh.
  • As a workaround I tried running graphical programs (such as eclipse) in a separate vncserver instance. This would allow me to connect to this alternative VNC session from home. However, this requires me to also do the same when at work. However, I would like to make this as seamless as possible, so tried vncviewer -fullscreen option, but the screen ended up spanning both monitors, with the actual screen centered (covering only half of each monitor, with the other two halves remained black).
  • There is probably a 3rd solution that I didn't try, which would involve configuring both monitors as two different displays and connecting only to one of the monitors when at home. This might work fine, but I loose some flexibility to rearrange windows when at office.

I prefer the 2nd solution and wonder if there is a good VNC viewer that would allow me to run it in fullscreen, but span only one of the monitors. If there are other better options that I am not aware of, I would like to hear them too.

I almost forgot, I also tried a 4th approach using a program called WindowSwitch. This would allow you to move windows from one session to another, which is a very clever and useful extension of vncserver at individual application level. But in reality it was very flaky and buggy, so only had a partial success.


Try using xrdp to run your VNC session. You can specify the screen size when you open the session. When I first tried it, I found it wasn't stable, but recent releases seem very stable. See my experiences with Remote Desktops with VNC and RDP for some ideas.


Try specifying specific vncserver geometry for your needs:

$ vncserver -geometry <WIDTH>x<HEIGHT>