欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > virt-manager 无边框|隐藏菜单栏

virt-manager 无边框|隐藏菜单栏

2025/1/24 1:41:59 来源:https://blog.csdn.net/qq_36640955/article/details/145305868  浏览:    关键词:virt-manager 无边框|隐藏菜单栏

virt-manager 打开虚拟机图形控制台,其上方详情菜单栏无法隐藏,无法做到无缝沉浸使用。
在这里插入图片描述

可以通过修改其源代码隐藏掉。而且 virt-manager 源代码是 python 脚本,所以修改后不需要重新打包就能直接生效。

在 ArchLinux 中,通过 yay -S virt-manager 安装的程序文件在 /usr/share/virt-manager 路径中。

打开 /usr/share/virt-manager/virtManager/vmwindow.py 文件,在其中找到 self.init_menus() 这一行代码,在后面添加隐藏菜单栏的逻辑保存即可:

# 找到这一行
self.init_menus()
# 添加隐藏菜单的逻辑
import os
if os.environ.get("HIDE_VM_MENUBAR", "0") == "1":self.widget("details-menubar").hide()

后续使用时就可以通过 HIDE_VM_MENUBAR 变量来控制菜单的显示,用法如下:

# 正常启动,默认显示菜单栏
virt-manager
# 添加变量,隐藏虚拟机菜单
HIDE_VM_MENUBAR=1 virt-manager
# 直接打开虚拟机控制台,隐藏菜单栏
HIDE_VM_MENUBAR=1 virt-manager -c qemu:///system --show-domain-console Win11

可以把命令写到脚本或者 Desktop 中方便使用,打开后效果如下:
在这里插入图片描述

如果有黑边那就是虚拟系统没能自适应调整分辨率填满窗口,一般重启就好了。

标题栏我是直接通过 KDE 窗口规则隐藏掉了,各个桌面环境不同也有各自的解决方案,不再展开。

其实直接把 /usr/share/virt-manager/ui/vmwindow.ui 文件中的 <object class="GtkMenuBar" id="details-menubar">visible 属性改为 false 也是可以的,改起来简单但没有环境变量灵活。

如果有人能 fork 一个分支,直接加上窗口大小调整、隐藏各种菜单工具栏的功能按钮就好了,没研究过 python 开发,以后有时间可以试试。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com