[libvirt] Should we keep the original vnc behavior even if the underlying qemu changes?

Guan Nan Ren gren at redhat.com
Wed May 1 14:43:26 UTC 2013




    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

        




More information about the libvir-list mailing list