Hi Everybody,
Since qemu v1.1.0 upstream commit 8cf364, qemu implemented shared-flag handling
the default qemu vnc server behavior from mode 'ignore' to
'allow-exclusive'.
The direct effect is as follows for libvirt user:
vncviwer client:
before: all client could share desktop without any option
after: all client need -Shared options for desktop sharing. One client without
-Shared option breaks others's connection
virt-viewer:
before: virt-viewer could support multiple desktop sharing
after: only one active connection
If we need to keep the original vnc behavior at libvirt level, the '-vnc
:1,share=ignore'
need to add into qemu commandline.
Any ideas about this?
Reference
RFB Protocol about shared-flag
Shared-flag is non-zero (true) if the server should try to share the desktop by
leaving other clients connected, zero (false) if it should give exclusive access
to
this client by disconnecting all other clients
From qemu doc: Set display sharing policy. 'allow-exclusive' allows
clients to ask
for exclusive access. As suggested by the rfb spec this is implemented by
dropping
other connections. Connecting multiple clients in parallel requires all clients
asking
for a shared session (vncviewer: -shared switch). This is the default.
'force-shared'
disables exclusive client access. Useful for shared desktop sessions, where you
don't
want someone forgetting specify -shared disconnect everybody else.
'ignore' completely
ignores the shared flag and allows everybody connect unconditionally. Doesn't
conform
to the rfb spec but is traditional qemu behavior.
Guannan