Mac Lion vmware にインストールされたアプリケーションを、Windows OS で実行されているプログラムまたは Web アプリケーションから呼び出す方法はありますか?
ありがとう、
Mac Lion vmware にインストールされたアプリケーションを、Windows OS で実行されているプログラムまたは Web アプリケーションから呼び出す方法はありますか?
ありがとう、
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 であると仮定します。
Mac VM で TextEdit が開きます。
これにより、ログインしたユーザーの特権レベルにあるすべてのコマンドが許可されます。アプリの起動には問題ありませんが、さらに操作が必要なコマンドには適していません。そのため、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 認証またはより高度な認証などのモジュールをセットアップできます。