The Configure Command executed before virt viewer compilation does not enable USB-redir-related functions. Whether virt Viewer supports usbredir depends entirely on SPICE-GTK.
Virt viewer's dependency on SPICE-GTK can be seen from the configure result of virt Viewer:
Configure: configuration summaryconfigure: ======================== configure: Configure: features: Configure: GTK: 3.0 configure: Configure: Libraries: Configure: glib2: -pthread-I/usr/include/glib-2.0-I/usr/lib/i386-linux-gnu/glib-2.0/include-pthread-wl, -- export-dynamic-lgthread-2.0-lgmodule-2.0-LRT-lglib-2.0 configure: Configure: GTK: -pthread-I/usr/include/gtk-3.0-I/usr/include/pango-1.0-I/usr/include/gio-unix-2.0/-I/usr/include/atk-1.0-I/usr/ include/Cairo-I/usr/include/gdk-pixbuf-2.0-I/usr/include/FreeType2-I/usr/include/glib-2.0-I/usr/lib/i386-linux-gnu/glib- 2.0/include-I/usr/include/pixman-1-I/usr/include/libpng12-lgtk-3-lgdk-3-latk-1.0-lgio-2.0-lpangocairo-1.0-lcairo-gobject-lgdk_pixbuf-2.0-lcairo- lgobject-2.0-lglib-2.0 configure: configure: gtk_vnc: Configure: spice_gtk: -pthread-I/usr/local/include/spice-client-gtk-3.0-I/usr/local/include/spice-client-glib-2.0-I/usr/local/include-I/usr /local/include/spice-1-I/usr/include/gtk-3.0-I/usr/include/pango-1.0-I/usr/include/gio-unix-2.0/-I/usr/include/ atk-1.0-I/usr/include/Cairo-I/usr/include/gdk-pixbuf-2.0-I/usr/include/FreeType2-I/usr/include/glib-2.0-I/usr/ LIB/i386-linux-gnu/glib-2.0/include-I/usr/include/pixman-1-I/usr/include/libpng12-L/usr/local/lib-lspice-client-gtk-3.0-lgtk-3-lspice-client-glib-2.0- lgdk-3-latk-1.0-lgio-2.0-lpangocairo-1.0-lgdk_pixbuf-2.0-lcairo-gobject-lpango-1.0-lcairo-lgobject-2.0-lglib-2.0 configure: configure: libxml2:-I/usr/include/libxml2-lxml2 configure: Configure: libvirt: -I/usr/local/include-L/usr/local/lib-lvirt-LDL configure: Configure: ovirt: Configure:
The spice-client-gtk-3.0 and spice-client-glib-2.0 are the compilation results of spice-GTK.
Version
Spice-gtk-0.20.tar
Virt-viewer-0.5.6.tar.gz
Compile spice-GTK
To enable usbredir in virt viewer, you must compile spice-GTK correctly, -- enable-usbdir = yes to enable usbredir.
./Configure -- With-GTL = 3.0 -- With-audio = gstreamer -- enable-usbdir = yes -- enable-smartcard = yesmakemake install
Make install will install the library and header file compiled by SPICE-GTK into the system. The compilation of virt viewer depends on these libraries and header files.
Compile virt Viewer
./Configure -- With-GTK = 3.0 -- With-spice-gtkmakemake install
Sudo./remote-viewer, use sudo to execute remote-viewer, because to operate USB, the superuser permission is required.
If it succeeds, after executing remote-viewer, you can see the "USB device selection" option under the File menu.