有没有办法我们可以从 Windows 操作系统上运行的程序或 Web 应用程序调用安装在 mac lion vmware 上的应用程序?
谢谢,
有没有办法我们可以从 Windows 操作系统上运行的程序或 Web 应用程序调用安装在 mac lion vmware 上的应用程序?
谢谢,
在 Mt Lion 实例上配置远程登录,
现在您可以通过 SSH 连接并调用命令。(在 Windows 上使用Putty / Plink)
例如,如果您的 VMWare 实例位于 10.0.0.1 上并且登录名是用户名。
plink 10.0.0.1 -l username "open -a Chromium.app http://google.com"
设置ssh 密钥以在没有密码挑战的情况下执行此操作。
只需进行 ssh 调用即可。
ssh username@10.0.0.1 "open -a Chromium.app http://google.com"
在 Mac 上运行一个非常简单的 Web 服务,并让它运行本地提供的命令。
如果您使用Sinatra或类似的轻量级工具(节点的 sammy.js 显然基于 sinatra。),这非常容易。
从 Mac 终端执行以下操作:
sudo gem install sinatra
创建一个名为app.rb
require 'sinatra'
get '/' {
`#{params[:command]`
}
然后启动它:
ruby app.rb
现在在 windows 框中打开以下 URL
http://10.0.0.1:4567/?command=open%20-a%20TextEdit.app
同样,假设 VM 实例 IP 地址为 10.0.0.1
TextEdit 将在 Mac VM 上打开。
这将允许任何处于登录用户特权级别的命令,适用于启动应用程序,但不适用于需要进一步交互的任何命令,因为您最好在 Mac VM 上编写本地脚本并调用它通过与我所描述的类似的方式。
当然这没有安全性,但是如果 ssh 不可能,您可以合理地简单地添加它,这取决于您的要求。
向请求中添加一个简单的安全令牌:
get '/' {
`#{params[:command]` if params[:token] == "awSomEl3yS3cuReP4ssK3y"
}
将请求发送为:
http://10.0.0.1:4567/?token=awSomEl3yS3cuReP4ssK3y&command=open%20-a%20Safari.app
您可以通过各种方式进一步加强它,但这足以让您继续前进。Rack(sinatra 使用它来提供 http 服务,将允许您设置模块,即基本的 http 身份验证,或更高级的身份验证,只要您认为合适。