How can I share a single application window with TightVNC?

Solution 1:

Xpra and winswitch might also be worth looking at - the former is a screenlike software for moving windows between systems, and the other is a frontend for that. It seems to have compression and such, and lets you transfer windows cross platform

Solution 2:

You might try using x11vnc to share a single window by doing :

  1. Run xwininfo from a console. It will change your cursor. Click on the window you want to share. xwininfo will print out the window id.
  2. Run : x11vnc -id {replace-by-window-id}

source

You might also have a look at the free SharedAppVNC.

Solution 3:

Linux VNC servers work differently from Windows VNC servers.

Specifically, tightvnc does not share the contents of the local physical screen over VNC protocol - it instead creates a separate X11 (gui) session, with a virtual display, and shares the contents of such virtual display over VNC.

On windows, there was no concept of separate GUI sessions for a long time, until recently via Remote Desktop, which is a hybrid solution. Which means windows VNC servers essentially mirror the contents of the primary monitor in their own memory, and send that virtual copy over VNC. It is thus sometimes desirable to be able to limit which chunk of a physical display to mirror - hence, the feature.

On Linux, you can either try creating a VNC display of arbitrary size (since it's not limited by any physical hardware, try -geometry option), and running your application inside, full-screen.. which would come close, or use the native X11 forwarding which basically just creates a window on a remote linux machine. X11, unfortunately, is not compressed.