[gentoo]搞定kvm+spice

简介: 很早之前就听说spice相对vnc来说要强大很多,之前因为安装的是32位的系统,没法进行尝试,安装了64位的系统之后,还没时间去折腾过。 上上周其实已经将以前的windows虚拟机的图形方式从vnc换成了spice,昨天又搞定了agent的启动和远程复制粘贴。 先说下安装,安装的过程相对比较方便

很早之前就听说spice相对vnc来说要强大很多,之前因为安装的是32位的系统,没法进行尝试,安装了64位的系统之后,还没时间去折腾过。

上上周其实已经将以前的windows虚拟机的图形方式从vnc换成了spice,昨天又搞定了agent的启动和远程复制粘贴。
先说下安装,安装的过程相对比较方便,首先需要卸载原来安装的app-emulation/qemu-kvm,因为之后要安装的拥有spice功能的kvm和这个包是相互block的。卸载了之后,就需要重新emerge app-emulation/qemu-kvm-spice这个包。否则直接在virt-manager中将虚拟机的显示从vnc切换到spice,在启动的时候会提示这个版本的kvm不支持spice协议。其他和spice相关的包还有:app-emulation/spice,app-emulation/spice-protocol等,如果要在virt-manager中直接接入到spice界面,需要安装net-misc/spice-gtk这个包(不过我在kde中用的时候,发现用net-misc/spice-gtk的时候,会导致整个界面都变成透明的,估计是因为gtk和kwin的特效不太兼容)。
安装还是非常简单的,安装完成之后,就要重新配置原来的windows虚拟机了。在virt-manager中删掉原来的vnc显示,新增一个graphics,类型选择spice server。将原来视频中使用的虚拟显卡换成qxl,这样启动虚拟机之后,就会使用spice了。
前面说到了kde中使用spice-gtk有很多不正常的地方,所以我是直接使用spicec这个命令的,因为没有配置任何的加密,所以连接非常简单,直接使用:
spicec -h 127.0.0.1 -p 5900
端口号可以在增加spice server的时候设置,如果选择自动分配,那么会从5900开始递增分配。
启动之后,需要给里面的windows安装驱动,windows需要的所有二进制文件,都可以在 http://spice-space.org/download.html这里的Windows binaries中找到。首先下载qxl driver,在windows提示需要安装驱动文件的时候,安装这个qxl driver,就可以完成了spice显示的功能了。
之前按照 http://www.linux-kvm.com/content/rhev-spice-guest-drivers-released-windows这个页面安装windows驱动,前面安装qxl非常方便,但是后面的vdi port driver却一直没有提示需要安装,在最后一步Install SPICE agent之后,这个服务一直无法启动,第一次的尝试spice就到此为止了。
之后又继续搜索了下这个spice agent无法启动,在redhat的bugzilla中发现原来现在sprice agent已经不通过vdi了,需要通过virtio-serial来进行交互。在virt-manager的界面上,怎么样都找不到如何添加这个设备的方法,最后只能通过编辑虚拟机配置文件的方式直接修改了。通过使用virsh edit XXX (XXX为虚拟机的名字),会打开虚拟机的配置文件,根据libvirt网站上的介绍,在devices标签中增加了两个channel:
<channel type=’pty’>
<target type=’virtio’ name=’arbitrary.virtio.serial.port.name’/>
<address type=’virtio-serial’ controller=’0′ bus=’0′ port=’1’/>
</channel>
<channel type=’spicevmc’>
<target type=’virtio’ name=’com.redhat.spice.0’/>
<address type=’virtio-serial’ controller=’0′ bus=’0′ port=’2’/>
</channel>
保存这个配置文件,启动虚拟机,这个时候windows又会提示发现了新硬件。需要使用spice下载页面上的Windows virtio-serial driver进行安装。安装完成之后,重新安装下spice agent,这个时候spice agent服务就能够正常启动了。通过这个服务,虚拟机就能够和宿主机共享剪切板了。

转载自:https://coolex.info/blog/160.html
目录
相关文章
|
前端开发 JavaScript
Playwright系列(9):常见操作HTML 元素方式
Playwright系列(9):常见操作HTML 元素方式
1049 0
|
缓存 移动开发 关系型数据库
Linux 内存 占用较高问题排查
Linux 内存 占用较高问题排查
1392 2
|
数据采集 人工智能 JavaScript
【利用AI让知识体系化】深入浅出Puppeteer(二)
【利用AI让知识体系化】深入浅出Puppeteer
|
开发者
UOS系统如何给软件签名
UOS系统如何给软件签名
UOS系统如何给软件签名
|
缓存 JSON API
Elasticsearch-05Elasticsearch之查询与过滤
Elasticsearch-05Elasticsearch之查询与过滤
743 0
|
8月前
|
弹性计算 运维 监控
【运维排查】服务器CPU飙升100%?别慌,教你3步精准定位“罪魁祸首”
当服务器CPU飙高时,别急着重启!本文教你四步精准排查:用`top`定位高占用进程,`top -Hp`找出耗CPU线程,`printf`转十六进制,再通过`jstack`结合线程ID定位到具体代码行。快速锁定死循环、频繁GC或复杂计算等问题根源,成为团队中的故障排查高手。
|
机器学习/深度学习 算法 关系型数据库
强化学习:动态规划求解最优状态价值函数——手把手教你入门强化学习(四)
本文介绍了基于模型的强化学习算法,重点讲解动态规划(DP)。动态规划通过分解问题为子问题求解状态价值函数,利用贝尔曼期望方程迭代更新。其核心性质包括最优子结构和重叠子问题,适用于已知转移概率和奖励的MDP场景。文章回顾了前期强化学习基础,并展望了后续内容如蒙特卡罗法。适合初学者系统了解强化学习算法原理与应用。
748 7
|
缓存 Shell API
PWA与原生应用:性能与用户体验的深度对比
【7月更文第28天】随着Web技术的进步,渐进式Web应用(Progressive Web Apps, PWA)已成为一种越来越受欢迎的选择,它结合了Web和原生应用的优点。尽管如此,原生应用仍然占据着移动应用市场的主导地位。本文将深入探讨PWA与原生应用之间的性能和用户体验方面的差异,并通过一些实际代码示例来展示如何构建高性能的PWA。
917 1
|
缓存 算法 安全
被追着问UUID和自增ID做主键哪个好,为什么?
讨论了UUID和自增ID作为数据库主键的优缺点。UUID全局唯一,适合分布式系统,但存储空间大,不适合范围查询。自增ID存储空间节省,查询效率高,但分库分表困难,可预测性高。UUID版本包括基于时间戳(V1)、随机数(V4)以及基于名称空间的MD5(V3)和SHA1(V5)散列。
1887 1
被追着问UUID和自增ID做主键哪个好,为什么?
|
JavaScript 关系型数据库 数据库
PostgreSQL支持哪些编程语言?
【8月更文挑战第5天】PostgreSQL支持哪些编程语言?
990 8