Netemu 虚拟化先锋 's Archiver

simon 发表于 2007-10-24 19:36

修改 QEMU 源代码,实现 -title 选项

修改 QEMU 源代码,实现 -title 选项在使用 QEMU 时,每台虚拟机窗口的标题栏都是“QEMU”。假设打开的虚拟机非常多,那么辨别哪个窗口属于哪台虚拟机就会变得很麻烦。如果能给 qemu 添加一个 -title 选项,以它的参数来控制每个窗口的标题栏,会大大节省我们的精力。

以当前最新的 qemu-0.8.2 为例,修改其实非常简单。所涉及的只有 vl.c 和 sdl.c 两个文件。

其中 vl.c 包含 main() 以及选项处理部分等,要修改的项目如下:

添加一个全局字符数组 vm_title[128],用于保存所设置的标题栏;
在选项枚举中添加一项 QEMU_OPTION_title;
在选项数组 qemu_options[] 中添加一项 { "title", HAS_ARG, QEMU_OPTION_title };
main() 中,有一个处理选项的 switch(popt->index),在其中添加:
  case QEMU_OPTION_titile:
    strcpy(vm_title, optarg);
    break;
最后在 help() 中添加相应的选项使用说明。

sdl.c 包含有用于设置虚拟机窗口标题栏的函数 sdl_update_caption(),要修改的项目如下:

添加一个外部变量,引入 vm_tilte;
修改 sdl_update_caption(),只需要将 strcpy(buf, "QEMU") 改为 strcpy(buf, vm_title) 即可。

完成修改、重新编译之后,运行类似如下命令就可以指定虚拟机窗口的标题栏:

qemu -hda win98.img -title win98

ronsun 发表于 2009-2-4 19:54

嗯,有创意。

kkingkill 发表于 2009-9-5 08:01

精通啊!!

netpopok 发表于 2010-10-9 21:26

楼主厉害啊,佩服

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.