zoukankan      html  css  js  c++  java
  • deepin定制virt-manager

    背景介绍

    我在deepin20.1系统安装了kvm后,通过virt-manager创建了一个deepin虚拟机,部署了一台虚拟机,平时做些开发调试,以免对正式工作环境造成影响。但是我不太喜欢virt-manager全屏后,鼠标扫过屏幕顶端的中间部位时,突出的键盘内容(vnc-viewer类似的操作菜单),所以我自己修改了以下源码,使其在左上角显示。

    deepin 安装kvm及virt-manager:sudo apt-get install qemu-kvm virt-manager

    操作过程

    首先找到管理器程序

    which virt-manager,路径在/usr/bin/virt-manager,执行file /usr/bin/virt-manager发现是一个shell脚本

    vim /usr/bin/virt-manager,发现是一个调用了/usr/share/virt-manager/virt-manager的shell脚本

    再次file /usr/share/virt-manager/virt-manager,发现是一个python脚本,也就是virt-manager实际上是一个python+gtk编写的虚拟机管理界面程序,不是二进制程序,就好办多了。

    查找源码里面的关键字

    我希望能够找到“全屏”的关键字,但是我报的希望不大,毕竟一个国际化的程序,直接在源码里面写汉字的可能性几乎没有。

    首先进入到目录:cd /usr/share/virt-manager/virtManager,执行ls发现很多python脚本,这肯定就是virt-manager的各种功能实现了

    执行egrep -n "全屏",结果不意外,什么都没有

    换个说法吧:egrep -n "fullscreen",这下子就出现很多内容了

    定位分析和修改源码

    看到一个console.py文件,没错,就是它了。所谓的全屏,就是控制台全屏。

    vim console.py,按照老套路,先大概看一下,发现了Gtk.Align.CENTER的字样,通篇检索一下,发现这个字样只有一处

    那应该就是这个地方定义了全屏退出的位置。

    修改Gtk.Align.CENTER为Gtk.Align.START,保存退出

    效果展示

    首先退出virt-manager,然后再次打开它,进入全屏模式,发现全屏退出已经在左上角了

    后续

    上述过程不是很难,前后没有花费超过我15分钟时间。

    但是virt-manager对于vmware workstation的沉浸模式来说,还是体验查了很多。

    vmware workstation的沉浸模式,完全不会让你鼠标扫到退出全屏的菜单,它需要通过组合键退出。个人感觉这种方式不错

    所以后续我可能完全禁止掉这个功能,直接通过组合键进入全屏模式,通过组合键退出全屏。

    如果是在使用虚拟机,感觉跟使用物理机一样,而不是类似于远程桌面

    【 欢迎交流探讨!邮箱:yunweinote@126.com】
  • 相关阅读:
    DS博客作业06--图
    DS博客作业05--树
    DS博客作业03--栈和队列
    DS博客作业02--线性表
    DS博客作业01--日期抽象数据类型设计与实现
    C语言博客作业06--结构体&文件
    c语言博客作业05--指针
    C语言博客作业03--函数
    DS博客作业--课程总结
    DS博客作业07--查找
  • 原文地址:https://www.cnblogs.com/liwanliangblog/p/14370917.html
Copyright © 2011-2022 走看看