qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: vnc clipboard support


From: BALATON Zoltan
Subject: Re: vnc clipboard support
Date: Tue, 2 Feb 2021 13:31:23 +0100 (CET)

On Tue, 2 Feb 2021, Gerd Hoffmann wrote:
My preferred solution is to have QEMU leverage the existing SPICE
guest agent if at all possible, because that's already widely
available in existing guest OS.

I think spice is not as widely available as VNC (or even Synergy) so the
idea to strip one of those down to just a guest clipboard agent would help
to get support to the most guests.

Well, we can use the spice agent as-is, then just let it talk to qemu
instead of spice client.  No need to code anything on the guest side,
and the (guest) code packaged up in distros will just work.

QEMU already knows about VNC so might be the simplest way and you
could reuse all kinds of VNC client and server code for the guest
agent and also make it easy for others to add support for their
guests.

Something vnc-ish doesn't look like a good plan to me.  When coding up
something new I'd go model the protocol after something more modern like
wayland.  When reusing something existing the spice-agent protocol looks
best as most existing linux guests already support it.

Is there anything the vnc protocol lacks over more modern ones that would be needed? I don't know what wayland does. Just because vnc is old it could be sufficient but I have no strong preference for any of these, just wanted to say that reusing something that's available on the most guests would make it work for most people with the least effort and vnc is quite widely available.

Also note that we can hook up clipboard support for the other UIs too
once we have the infrastructure in qemu, so even though there is "vnc"
in the subject line this isn't about vnc only.

OK in that case using vnc protocol over others would not make it easier to connect to the server side but probably would not mmake it harder either.

Using spice may not be that easi as it's less widespread so probably
only works on the guests that already have support for it. And then
why not just use spice instead of VNC on those guests and then you
don't have the clipboard problem either.

The guest side is easy.  The spice-vdagent package is small, and the
dependencies it needs are most likely present anyway in a guest with
a graphical desktop installed.

The host side is a bit more tricky.  spice-server has a relatively long
list of dependencies not needed otherwise on a virtualization host.

We need something to be running in the guest, and that should be
agnostic of whatever other software the guest chooses to use for
remote desktop, and should not assume the guest even has remote
desktop setup.

As I understood, the idea is not to run a full VNC server on the guest OS
but to make it easy to write the guest agent that you'll need to run is to
reuse parts of a VNC server which is already available on almost all
platforms.

spice guest agent is already available for linux and windows.  Not fully
sure how the state is on other unix-ish platforms like *bsd is.  In any
case it should not be that hard to port the linux version over.

You scope of possible guests seem to be limited, there are much more that can run on QEMU. What about macOS/X, MacOS, MorphOS, etc. OK they are not big and may be niche but people I know would like to use clipboard with those too. MorphOS has VNC server and Synergy client but not sure it would have dependencies for spice agent which is of course not as readily available on most platforms as e.g. vnc is. If we plan to allow such guests to use this clipboard solution then a protocol that's easy to implement without too much dependencies would be best. One which is aleady available is even better.

Regards,
BALATON ZOltan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]