Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to understand how the VNC mechanism works.

The RFB protocol 3.8 specifications say :

The update protocol is demand-driven by the client. That is, an update is only sent from the server to the client in response to an explicit request from the client. This gives the protocol an adaptive quality. The slower the client and the network are, the lower the rate of updates becomes. With typical applications, changes to the same area of the framebuffer tend to happen soon after one another. With a slow client and/or network, transient states of the framebuffer can be ignored, resulting in less network traffic and less drawing for the client.

It seems that this implies that the server will only ever send a FramebufferUpdate if the client sends a FramebufferUpdateRequest. Then the client must be sending these packets at a regular interval. However, when I analyzed through wireshark, I observed that this was not the case. When there was no screen or pointer activity, I did not see any packets from the client to the server.

When I created some screen activity on the screen without involving the client, (I ran xclock by setting display to that value) the first message was from the server to the client and not a request from the client.

So my question is: Is it indeed true that the server will only send updates if the client requests them and not every time there is screen activity? What is the frequency of updates in either case?

share|improve this question
How many clients and servers did you test this on? It's possible (probable even) that some clients and servers have nonstandard features like this. – Kevin May 16 '12 at 14:42
@Kevin I tested on a single client and server. I used tightvnc for both – AnkurVj May 17 '12 at 6:34

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.