アプリ版:「スタンプのみでお礼する」機能のリリースについて

表題の件について教えてください。
VNCアプリケーションなんですが、動作が不安定で、
一旦遠隔で操作して接続を切ると、
当該アプリケーションを再起動しないと繋がらなくなるものがあります。

そこで、mailのメッセージルールで、
メール受信するとAppleScriptを実行するように設定して、
当該アプリケーションを再起動するようなapplescriptを作ってみましが
上手く動作してくれません。

AppleScriptを実行とすると、「接続が無効です」とのエラーメッセージが出て、
activateのところが水色のハイライトがつきます。
どのように修正したらよいか教えて下さい。
なお、実行するOSはlion10.7.4です。

tell application "アプリケーション名"
quit
activate
end tell

A 回答 (6件)

Automatorでもできましたよ。


 アプリケーションを終了
 アプリケーションを起動
だけのフロー?をアプリケーションとして適当な名前を付けて保存。
AppleScriptで、今作ったアプリを起動するスクリプトを作って保存。
メールのルールにこのスクリプトを指定。
    • good
    • 0
この回答へのお礼

あーなるほど!組み合わせれば良いのですね!
自分は発想が固くていかんなーと思い知らされました。
今回はこの方法を選択しようと思います。
どうも有難うございます。

お礼日時:2012/06/06 20:40

念のためお断りしておきますが


私はki073さんの回答には付いていけないAutomator/AS素人です(;_;)

MailのルールでASが起動出来るのも初めて知って、役立ちそうなので
参加しました。勉強させていただきます。
    • good
    • 0

No1, 3です。


Macを外部からコントロールする方法を書いておきます。標準で用意されていてWindowsからも可能となるものは
1) sshでログインしてshellを使う方法(No.3に記載した方法)
2) VNC標準でインストールされています。システム環境設定」「共有」「リモートログイン」で「コンピュータ設定」ボタンを押してVNC設定が可能になります。普通のVNCですのでWindows側でクライアントを用意すれば使えます。
3) ファイル共有 smbの設定をonにするとWindowsからも使えます。
一般的にはこのあたりです。

それと
shellからAppleScriptを使う方法はNo.3に書きましたが、逆にAppleScriptからshellを使う方法として
do shell script "open '/Applications/Preview.app'"
があります。これでPreviewが起動します。シングルクォーテーションとダブルシングルクォーテーションを使い分けていますので注意してください。
AppleScript側で同じ様に書いておけば、No.3で書いたsshを使わなくてもAppleScriptから起動できます。起動だけならこの方が簡単です。
    • good
    • 0

一つの方法として、


相手側のMacを「システム環境設定」「共有」の「リモートログイン」を有効にしておきます。
そうするとsshで接続可能になります。

Windowsにはsshが使えるTeraterm
http://sourceforge.jp/projects/ttssh2/
をインストールしておき、
(Macの場合だと標準で入っているターミナルでssh ユーザid@IPアドレスと入力)
Teratermにログイン先を設定します。
(Macの「リモートログイン」を有効にしたときにssh ユーザid@IPアドレスの入れ方が画面表示されます)
パスワードを聞いてきますので、それを入力するコマンド入力ができるようになります。
AppleScriptで終了させられるようですので、コマンドとして
osascript -e 'tell application "SplashtopStreamer" to quit'
これでAppleScriptをコマンドラインから実行できます。
つぎに
open "/Applications/SplashtopStreamer.app"
で立ち上がるはずです。SplashtopStreamerがアプリケーションフォルダにあることが前提ですが、アプリケーションのフルパスを入れば起動します。AppleScriptに対応している必要はありません。

相手につながればUNIXですので、基本的なコマンドは使えます。
    • good
    • 0
この回答へのお礼

ご丁寧な回答どうも有難うございます。
こういうスクリプトとかコマンドとか込み入ったことは得意ではないので、
自分の能力不足でご説明についていけていないところがあるんですが、
自分の勉強のためになりそうなことなので、明日teratermを入れるところからちょっとトライしてみようと思います。
sshは別なことにも使えそうなので。

ただこの方法だと特定のwin機からしか再起動をかけられないという事になりそうですね。
実際家庭内LANでの運用を考えていたのでそれでも問題ないのですが、
ちょっと出先から、といったようなことも考えられなくもないので…

別のVNCを使えばいいのですが、Lionにしてから、なぜかwin→MacでのVNC接続が不安定になった気がします。
teamviewerは操作ラグが酷く切断されまくり、RealVNCはログイン画面が表示されるのみで先に進まない、、、等
splashtop~は相談内容の通り、何故か再接続出来ない問題はあるものの、繋がってしまえば安定するので消去法での選択です。
macの画面共有のwin版があるといいんですけどね。
私の家庭内の環境のせいかもしれませんが。
どうもありがとうございました。

お礼日時:2012/06/06 21:02

tell application "アプリケーション名"


quit
delay 5
launch
end tell
としたらどうですか。終了後5秒待ってから起動という意味です。
    • good
    • 0
この回答へのお礼

No1の方へのお礼でも書いたのですが、そもそもAppleScriptへの対応の問題があったようです。
一応お教えいただいたスクリプトを入力して実行してみましたが、
やはりquitまでは実行しますが、立ち上がってくれませんでした。
どうもありがとうございました。

お礼日時:2012/06/06 15:51

状況がつかめませんが、質問者さんが、相手側のMacをVNCで操作していて不安定ということでしょうか。


「システム環境設定」共有の「画面共有」でVNCを設定して使っているのでしょうか。それとも他のVNCサーバーを使っているのでしょうか?
まずはVNCの不安定から解消するほうが良いように思います。

さて、AppleScriptの方ですが、アプリケーションを終了、再起動させるスクリプトですよね。
まず、そのアプリケーションはAppleScriptに対応しているのでしょうか?
AppleScriptエディタのメニュー「用語説明を開く」に現れ、quitが使えることが確認できますか?
用語説明に現れるのであれば、quitやactivateが最低でも使える場合が多いのですが、まったく現れないのなら別の方法
System Eventsを使う必要があります。アプリケーション自体がフリーズしたような状態(メニューから終了できない)場合は、また別の方法をとる必要があります。
    • good
    • 0
この回答へのお礼

説明不足ですみません。
おっしゃるとおり相手側MacにVNCサーバソフトが入っていて、
それをwin7のクライアントソフトで操作したいのですが、
接続をOFFにするたびに何故か繋がらなくなります。
ちなみにSplashtopStreamerというアプリケーションです。

これらの不安定解消のために色々と調べてみたのですが、
有効な解決策は見つけられず、どっちのアプリ側の問題なのかネットワークの問題なのか、
問題を切り分けることも出来ず、とりあえずサーバ側アプリを再起動すると
接続できることがわかったので、上記のような対策を取ることにしたわけです。
そんなに使用頻度が高いわけでもなかったので、妥協策を取りました。

Applescriptは完全に初心者ですので、色々と知りませんでした。
そもそもAppleScriptに対応しているかという問題があるんですね。
そしてご指摘の通り[用語説明を開く]には表示されず、
またブラウズから当該アプリを見てもグレーで選択できないようです。
ということはAppleScriptに非対応ということなんですね。
ただ、quitまでで試すと、アプリは終了してくれます。

SystemEventsというのはまた全然考えてなかった方法ですので、ちょっと調べてみます。
それとAutomatorも使ってみたのですが、これは上手く動かせませんでした。

お礼日時:2012/06/06 15:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!