Bug 2057768

Summary: [RFE]Support copy/paste in the VNC console in libvirt
Product: Red Hat Enterprise Linux 9 Reporter: yafu <yafu>
Component: libvirtAssignee: Jonathon Jongsma <jjongsma>
libvirt sub component: General QA Contact: zhentang <zhetang>
Status: CLOSED ERRATA Docs Contact:
Severity: medium    
Priority: medium CC: chhu, fjin, hongzliu, jdenemar, jsuchane, juzhou, lmen, smitterl, tzheng, virt-maint, xuzhang, zhetang, zhguo
Version: 9.0Keywords: AutomationTriaged, FutureFeature, Triaged
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-8.4.0-1.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-11-15 10:03:40 UTC Type: Feature Request
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version: 8.4.0
Embargoed:
Bug Depends On:    
Bug Blocks: 2060724, 2064602    

Description yafu 2022-02-24 03:55:24 UTC
Description of problem:
qemu-kvm has supported copy/paste in the vnc console since qemu-kvm 6.2.0, see:
Bug 1874926 - [RFE] copy/paste support in qemu VNC console

Libvirt should also support this feature.

Comment 2 Jonathon Jongsma 2022-05-18 19:40:06 UTC
Support for this feature has been merged upstream and will be included in libvirt 8.4.0

The configuration for this is a bit different than for spice. The following configuration snippet can be used to enable copypaste with a vnc guest (provided that the vnc client supports copy/paste properly):

      <channel type='qemu-vdagent'>
        <target type='virtio' name='com.redhat.spice.0'/>
        <source>
          <clipboard copypaste='yes'/>
        </source>
      </channel>

Nothing needs to be added to the <graphics> section.

Comment 5 zhentang 2022-06-20 03:03:45 UTC
verified on libvirt-8.4.0-2.el9

tested with tigervnc, copy/paste between host and guest works crectly

test steps:
1. start guest with qemu-vdagent
# virsh dumpxml rhel9-vnc
...
<channel type='qemu-vdagent'>
      <source>
        <clipboard copypaste='yes'/>
        <mouse mode='client'/>
      </source>
      <target type='virtio' name='com.redhat.spice.0' state='connected'/>
      <alias name='channel1'/>
      <address type='virtio-serial' controller='0' bus='0' port='2'/>
    </channel>
...
2. check qemu cmdline
# ps aux|grep vdagent
-chardev qemu-vdagent,id=charchannel1,name=vdagent,clipboard=on,mouse=on
3. connect to vm through tigervnc and do some copy/paste

Comment 6 smitterl 2022-10-26 07:52:22 UTC
Note for visibility and automation, vdagent is not supported on Big Endian. Starting the VM will result in error

error: internal error: process exited while connecting to monitor: 2022-10-26T07:49:49.782601Z qemu-kvm: -chardev qemu-vdagent,id=charchannel1,name=vdagent,clipboard=on,mouse=on: vdagent is not supported on bigendian hosts

Comment 8 errata-xmlrpc 2022-11-15 10:03:40 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Low: libvirt security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2022:8003