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 -fullscreenoption, 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.