QEMU/KVM用Virt-Manager启用SPICE显示服务器并使用USB热插拔重定向和剪切板共享

使用 Virt-Manager 配置好虚拟机后,默认是使用的是 VNC 显示服务器,更换到 SPICE 显示服务器后可以得到更流畅的远程画面剪切板共享,还有更方便的热插拔 USB 重定向,就像 VMware 那样,还能实现新插入的 USB 设备自动重定向到虚拟机,这个相比使用简易版 qemu 加 qemu-hw-usb-host 后在 Virt-Manager 配置中添加 USB 设备后还要重启虚拟机要方便不少。

注意依赖包版本

接下来要建立在安装好虚拟机的基础上。
同时如果使用的是 Arch Linux,注意如果安装虚拟机时安装的 QEMU 是 qemu-base 这个默认的基础版,最好重新下载 qemu-desktop,里面包含了 USB主机设备、 USB 重定向、 qxl 显示加速包等,不然选择下面的选项就会报错,像我一样连添加 USB 设备都搞了一整天就不好了…(>﹏<)

Virt-Manager 配置

打开虚拟机的配置面板

  1. 首先要将 显卡 设置为 SPICE 推荐的 qxl在这里插入图片描述

  2. 然后在 显示协议 中将 显示服务器 更换为 SPICE 在这里插入图片描述

  3. 在虚拟机配置中添加 USB 重定向 设备即可,是这么简单,前提是你的 qemu 依赖包要完整(又是不堪回首的往事TAT…)在这里插入图片描述

  4. 要启用剪切板共享,再添加一个通道,选择SPICE 代理即可
    请添加图片描述

虚拟机安装驱动

安装完后还需要在虚拟机装一些驱动,应该是作为客户机与 SPICE 显示服务器通信的基础。这里列出Windows的驱动,其他可以在 SPICE 的下载界面找到。

  1. 客户机工具
  2. USB 重定向驱动

使用

安装完成后,重启虚拟机应该就能开始使用了
拿热插拔 USB 重定向来说,只要打开虚拟机,点击 Virt-Manager 虚拟机控制台上方的 虚拟机 里的 重定向 USB 设备 即可将插在主机上的 USB 设备重定向到虚拟机,非常方便
但是没做其他设置的情况下只能重定向一个设备,然后就提示端口不足了,不过可以在设置中添加其他 USB 设备,或添加 USB 拓展坞设备解决(
在这里插入图片描述
默认USB连接时重定向是打开的,可以在 Virt-Manager 的 编辑 - 首选项 里关闭
在这里插入图片描述

附录感受

本来想使用 WinApps 实现在 Linux 上无缝使用 Windows 应用的,没想到从 Podman 的方案不好弄 USB 直通转过 QEMU/KVM 方案这么费力,期间 WinApps 还得删了重装,不过这下应该是可以正常使用了。

我的参考资料(不是很相关):

  • https://wiki.archlinuxcn.org/wiki/QEMU#%E5%9C%A8%E5%AE%BF%E4%B8%BB%E6%9C%BA%E4%B8%8A%E5%90%AF%E7%94%A8_SPICE_%E6%94%AF%E6%8C%81
  • https://blog.chyk.ink/2022/04/20/run-windows-apps-in-kvm-on-linux/
  • https://github.com/winapps-org/winapps/blob/main/docs/libvirt.md
<think>好的,我现在要解决用户在使用yum安装QEMU-KVM及相关工具时遇到的命令错误问题。用户提供的命令是`yum install qemu-kvm qemu-img virt-manager libvirt-python virt-manager libvirt-client virt-install virt-viewer -y`,但系统提示“No such command indtall”。首先,我需要仔细检查这个错误信息。 注意到错误信息中的“indtall”拼写错误,正确的应该是“install”。这可能是因为用户输入时手误,把“install”打成了“indtall”。这种情况下,系统无法识别命令,导致报错。所以第一步应该建议用户检查命令的拼写是否正确,特别是“install”是否正确输入。 接下来,假设用户确实输入正确,但问题仍然存在,那么需要考虑其他可能的原因。例如,用户的yum源配置是否正确,是否有可用的软件仓库。有时候,如果系统没有正确注册或者仓库配置有误,yum可能无法找到相应的软件包。根据引用[2]中的信息,如果系统未注册,安装时可能会报错。因此,需要确保系统已经注册启用了正确的仓库。 另外,用户可能需要安装EPEL仓库,因为某些软件包(如virt-manager)可能不在默认的仓库中。安装EPEL仓库可以扩展可用的软件包列表。用户可以通过运行`yum install epel-release -y`来添加EPEL仓库,然后再尝试安装所需的软件包。 此外,用户可能需要检查软件包名称是否正确。例如,某些软件包可能有不同的名称或版本。比如,在引用[3]中提到Ubuntu系统使用的是`libvirt-bin`,而CentOS可能使用不同的包名。但用户的问题是在CentOS环境下,所以需要确认包名是否符合CentOS的命名习惯。例如,`libvirt-python``virt-manager`是否存在于仓库中。 还有,用户可能需要确保他们拥有足够的权限来安装软件包。使用sudo或以root用户身份运行命令可能是必要的,特别是在非特权用户账户下操作时。如果用户没有使用sudo,可能会导致权限不足的问题。 最后,如果上述步骤都确认无误,但问题仍然存在,可能需要查看具体的错误日志,运行`yum update`更新缓存,或者手动检查软件仓库的配置是否存在问题。此外,参考引用[5]中提到的源码安装方法,如果yum安装不可行,用户可能需要考虑从源码编译安装QEMU-KVM,但这通常更复杂,适合高级用户。 总结,解决步骤可能包括:纠正拼写错误、检查仓库配置、安装EPEL仓库、确认软件包名称、使用正确的权限,以及更新系统缓存。逐步排查这些可能性,应该能够解决用户的安装问题。</think>针对您遇到的`yum install`命令报错问题,以下是逐步排查解决方案: --- ### **步骤1:检查命令拼写** 报错信息显示`No such command indtall`,说明系统未识别`indtall`命令。 **原因**:您输入的`install`被误写为`indtall`(多了一个字母`d`)。 **修正命令**: ```bash yum install qemu-kvm qemu-img virt-manager libvirt-python libvirt-client virt-install virt-viewer -y ``` --- ### **步骤2:验证软件包名称仓库配置** 若修正后仍报错,可能是以下原因: 1. **软件包名称错误** - CentOS 8 中部分软件包名称可能与旧版本不同。例如: - `virt-manager` 需要 EPEL 仓库支持 - `libvirt-client` 可能已更名为 `virt-clients` - **修正命令**(添加 EPEL 仓库更新包名): ```bash yum install epel-release -y # 安装 EPEL 仓库 yum install qemu-kvm qemu-img virt-manager libvirt-python virt-clients virt-install virt-viewer -y ``` 2. **系统未注册或仓库未启用** - 根据引用[2],若系统未注册,可能无法访问官方仓库。需确保: ```bash subscription-manager register # 注册系统 subscription-manager attach --auto # 激活订阅 yum repolist # 检查仓库是否启用 ``` --- ### **步骤3:检查依赖权限** 1. **依赖冲突** 运行以下命令清理缓存修复依赖: ```bash yum clean all # 清理缓存 yum makecache # 重建元数据缓存 yum -y install dnf # 升级包管理器(CentOS 8) dnf check-update # 检查更新 ``` 2. **用户权限不足** 使用`sudo`或以`root`用户执行命令: ```bash sudo yum install [包名] -y ``` --- ### **步骤4:替代安装方法** 若仍无法解决,参考引用[5]通过源码安装: ```bash # 下载 QEMU-KVM 源码 git clone https://gitlab.com/qemu-project/qemu.git cd qemu ./configure --prefix=/usr/local/qemu --enable-kvm # 配置编译选项 make && make install # 编译安装 ``` --- ### **总结** 1. 修正拼写错误`indtall` → `install` 2. 添加 EPEL 仓库更新软件包名称 3. 确保系统已注册且仓库正常 4. 清理缓存检查依赖 5. 必要时通过源码安装 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值