我目前正在为inPulse手表开发应用程序(如果您是极客,请查看 www.GetInPulse.com),并在Mac上为手表进行编译。 但是,将应用部署到设备需要几分钟时间。 然而,他们确实提供了一个模拟器,但它只能在 Linux 下运行,所以我在 VM 中安装了 Ubuntu,效果很好。
我希望的是完全留在Mac端,除了能够执行可以"调用"VM的构建步骤或shell脚本,并在那里启动一个启动模拟器的shell脚本。 这样,我就可以将"sim"作为"mac"端的makefile中的一个步骤添加。
目前,我来回徘徊太多了,我在主机和来宾操作系统中到处都打开了终端。 只是试图清理它和跨机器脚本似乎在理论上是可行的。 只是不知道跨机器的边界是否有效。
主机操作系统不知道来宾内部的"外壳"是什么。shell 是一个依赖于操作系统的概念,虽然主机操作系统在技术上知道来宾中发生的一切,但它唯一的联系是通过观察来宾内存及其运行的指令,这完全是错误的抽象级别。
将 shell 命令从一个操作系统运行到另一个操作系统的最自然方法是通过网络链接使用远程 shell 工具;实际上,这意味着 SSH。您需要两台计算机之间的网络链接,一旦有了它,一台计算机是否在另一台计算机中运行就无关紧要了。两台计算机之间可能已经存在网络链接;如果没有,请确保激活桥接网络或仅主机模式网络或 VM 技术提供的任何内容。
在主机上安装 SSH 客户端(可能已经有一个)和在来宾上安装 SSH 服务器(openssh-server
安装 openssh 服务器 http://bit.ly/software-small)。然后在两台计算机之间设置公钥身份验证,这样您就不需要一直键入密码。
你将获得来宾的外壳访问权限。如果您需要操作 GUI 应用程序,则需要多做一些工作。ssh DISPLAY变量可能会有所帮助,或者也许我如何在Linux上无头运行Firefox(即不需要libgtk-x11-2.0.so.0)?。