2

有没有办法我们可以从 Windows 操作系统上运行的程序或 Web 应用程序调用安装在 mac lion vmware 上的应用程序?

谢谢,

4

1 回答 1

0

在 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 密钥以在没有密码挑战的情况下执行此操作。

如果你没有运行windows...

只需进行 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 身份验证,或更高级的身份验证,只要您认为合适。

于 2012-12-20T07:26:40.157 回答