VNCs Operating Model

Unlike X, which works on fairly high-level data structures such as fonts, text, lines, and curves, VNC operates on bitmaps. When a VNC client connects to a server, the server sends a bitmap to the client representing everything on the screen. This arrangement tends to be slower than X's system when network bandwidth is an issue, but VNC's system involves fewer back-and-forth data exchanges, so VNC can be faster if network latencies are high. VNC also supports various data compression options, which can reduce the demand for bandwidth.

Most X servers place windows from the remote system side-by-side with local windows. This arrangement can be convenient when you want to use programs from both systems simultaneously, but it complicates the use of complete desktop environments on the remote system. Some X servers, particularly those for Windows, support placing the X root window in a single local window, enabling you to run desktop environments from the remote system. This arrangement is often called a rooted X server. VNC works like a rooted X server: It creates a single window in which the remote system's environment appears. One of VNC's complications is that you must set the size of this window on the VNC server, but the optimum size might vary depending on the client you use.

Ordinarily, a VNC server's X process is entirely independent of other X servers running on the system. VNC can run a desktop environment that may be different from any other running on the computer at that time, and it can be used by a user who isn't logged into the console. On most non-Unix platforms, though, VNC merely echoes whatever session is displayed on the screen. KDE includes a tool that operates in this way, too, as described in the upcoming section, "Using KDE's VNC Options." In either of these cases, the VNC session is persistent—a client can connect, disconnect, and connect again later, and the system will be in the same state it had been in prior to the first disconnection. If you left programs running when you disconnected, they'll still be running when you reconnect. The method of running VNC described in the upcoming section, "Linking VNC to XDMCP," though, makes VNC work more like a normal login session: If you terminate a session and connect again later, the system will bring up a new session, and chances are you'll lose any unsaved changes.

0 0

Post a comment