0

サーバーへのssh/scpへのbashスクリプトを最終的に実行するapplescriptを実行するAutomatorサービスを作成しようとしています。

-

現在のフォトショップドキュメントを保存し、bashスクリプトを呼び出して画像をサーバーにコピーするこのアップルスクリプトがあります。次に、bashスクリプトはsshを実行して、イメージを使用してサーバー上でいくつかの処理を実行します。

私はssh-askpassファイルを持っていますが、ほとんどの状況でうまく機能しているようです。再インストールして、権限を失ったことがないことを確認しましたが、良好な状態のようです。

Applescript Editorを介してapplescriptを実行すると、正常に動作し、ssh-askpassを実行します。

(「サービス」テンプレートを使用して)Automatorアクションを作成して、AppleScriptを実行したいので、キーボードショートカットにすることができます。

Automatorでスクリプトを実行するだけで、すべてが正常に機能します。残念ながら、オートマターの外部でサービスを使用しようとすると(つまり、[アプリメニュー]> [サービス])、Automatorアクションがssh-askpassをまったく通過しようとしていないようです(一時的なログで確認しました)-すべてが正常に機能しますその点。

もう少し調べてみたところ、(Applescript Editorではなく)ターミナルからapplescriptを実行しようとすると、同様の問題が発生するようです。

-

AppleScript(Automator内)がssh-askpassを使用するようにするために、何か別のことをする必要がありますか?

4

2 に答える 2

1

問題を見つけました。私が呼び出していたbashスクリプトでは、SSH_ASKPASSパスをエクスポートしていましたが、表示はしていませんでした。

export DISPLAY = ":0"

どうやら、AppleScript Editor(およびXCodeとAutomator)がエクスポートを行ってくれるので、そのような場合に機能していたようです。

于 2012-09-12T22:28:44.633 に答える
0

サーバー上のアカウント(シェルアカウントなど)を制御できる場合は、SSHキーペアを生成し、それを認証に使用します。そうすれば、交換を真に自動化でき、まったく対処する必要がなくなりssh-askpassます。

SSHキーの作成と展開のガイドについては、http://paulkeck.com/ssh/を参照してください。

于 2012-09-08T02:25:54.523 に答える