Is there a VNC server that lets me define only a region of the screen for remote control?

  • like CITRIX for application sharing? Or you mean on the client side that manages the VNC instance, you only want to resize the client view? – Jakub Jul 6 '12 at 14:10
  • @Jakub no not on the client side. I want the server to serve only a small portion of the screen (because all the action happens in that part and its a waste to send the entire screen) – Midhat Jul 6 '12 at 23:40
  • Is stuff actually changing on the rest of the screen? VNC usually only transmits portions of the screen that change, so unless you have other applications on outside this region that are constantly changing, VNC is already only sending the changing regions. – Darth Android Jul 12 '12 at 17:02
  • @DarthAndroid this is extremely interesting, do you know any source that says this? – Kubuntuer82 May 2 at 8:09

I don't think it's meaningful to have remote control only on a region of your screen. Once you gave remote user control of your keyboard and mouse, they can easily pull in the rest of windows outside of the display region... If you're giving a read only permission, it might make more sense.

| improve this answer | |
  • It could make sanse to control only a region of the screen, in those cases where the internet connection speed is very low and you want to minimize the exchanged data with the VNC server... – Kubuntuer82 May 2 at 8:08

If the reason why you need this is because of bandwith limitations (e.g. low connection speed), then, as Darth Android said in a comment, VNC already transmits only portions of the screen that change.

In particular, VNC uses the RFB protocol (Remote FrameBuffer) (see this), which is based on incremental updates of pixels, and the official RFC for the protocol says:

If the client has not lost any contents of the area in which it is interested, then it sends a FramebufferUpdateRequest with incremental set to non-zero (true). If and when there are changes to the specified area of the framebuffer, the server will send a FramebufferUpdate.

If you read the terminology at the beginning of the RFC, it is clear that by area they mean a portion of the screen (its corresponding pixels), and since only the changing pixels are transmitted, if the rest of the screen is not touched then only the portion on which you are interested will be transmitted to the client.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.