VM Manager 插件分享

本来想分享一个自己开发的非常非常好用的 Chrome 插件的,没想到发布到应用商店还要审核,就先放着了。之前想着分享工具应该很简单,事实并非如此。自己玩的时候,爱怎么搞就怎么搞,但是等到要分享的时候,就有一堆问题要考虑了。比如 图片、文案、许可证、说明文档等等。所以就先介绍一个简单的,后面再介绍其它个人开源项目。

VirtualBox 这个工具相信很多人在用。以前我使用 Windows 电脑的时候用 VMware 来做虚拟机,后来用 Mac 电脑的时候使用 Docker 来模拟其它系统,用得也还行。直到有一天,看到同事直接在 VirtualBox 里安装的 Ubuntu 写代码,我才发现了一片新天地。一直以来,因为虚拟机卡的缘故,我只是把它们当成玩具,偶尔玩玩,想不到有人竟然拿它直接当电脑在用,说实话我被惊到了。于是我也开始把弄起了 VirtualBox。

不得不说,VirtualBox 真的很香,虽然有些功能没有 VMware 那么全,但是资源消耗很小,如果是无界面后台运行的话,那几乎就是一个普通的程序了,想开多少个虚拟机就开多少个虚拟机,一点也不卡,这等于是我一下子拥有了十几台电脑呀!真实令人兴奋!

电脑一多,各种问题也随之而来。

VirtualBox 管理器和各个虚拟机是可以独立运行的,而当只运行虚拟机的时候,电脑的资源消耗是最小的,所以很多时候我都会打开管理器,再运行虚拟机,之后再关闭管理器,关闭虚拟机也是如此,这真实太麻烦了。

幸运的是,VirtualBox 提供了命令行工具 vboxmanage,用它可以实现开启和关闭虚拟机等功能,无需管理器界面。当然,用 vboxmanage 操作虚拟机更麻烦,于是我编写了一个 Alfred 插件 VM Manager。有了它,就可以轻松管理虚拟机,甚至比 VirtualBox 管理器还方便。

introduce.png

看到图片了吗?打开 Alfred,输入 vm,就会触发 VM Manager 插件,默认显示本地安装的所有虚拟机,并且按最近使用原则排序。当虚拟机正在运行时,其对应的图标是可关机图标,反之则是可开机图标。这样我们一眼就可以看到哪些虚拟机在运行了,而且它支持搜索,查找特别方便。

选择处于关机状态的虚拟机,直接回车就可以启动虚拟机了,默认是后台运行。我们可以点击 ⌘ 键或者 ⌥ 键选择其它运行模式,关机也是同样的。具体可以参考一下表格。

按键\当前状态 处于休眠状态 处于运行状态
后台启动虚拟机 保持状态关闭虚拟机
⌘+↩ 带窗口启动虚拟机 正常关机
⌥+↩ 带窗口启动虚拟机 直接断电
⌘+C 复制启动命令 复制关机命令
⌘+L 显示启动命令 显示关机命令

vboxmanage 命令提供的功能还有很多,我只是封装了一些比较常用的功能,如果你有别的需求,可以到 GitHub 上提交 issue,或者直接参与到项目的开发中。

Packal地址:http://www.packal.org/workflow/vm-manager

GitHub地址:https://github.com/hzh-cocong/VM-Manager