我们是否可以通过Windows操作系统上运行的程序或Web应用程序调用mac lion vmware上安装的应用程序?
谢谢,
答案 0 :(得分:0)
在Mt Lion实例上配置远程登录,
现在您可以通过SSH连接并调用命令。 (在Windows上使用Putty / Plink)
e.g。如果您的VMWare实例位于10.0.0.1且登录名为username。
plink 10.0.0.1 -l username "open -a Chromium.app http://google.com"
设置ssh keys即可在没有密码问题的情况下执行此操作。
只是做一个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 auth,或者你认为合适的更高级的身份验证。