このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

起動項目での起動の順番の変更

発言者:TK
( Date Friday, July 30, 1999 20:21:17 )


 システムフォルダの「起動項目」の中にサーバアプリのエイリアスを
5、6個入れています。
 この起動項目の中でアプリの起動する順番を変更することは可能なの
でしょうか。

 それと、ファイルメーカー Proのファイルを起動するために、以下の
AppleScriptでアプリを作り、そのエイリアスを起動項目に入れて、
自動的に立ち上げるようにしました。
 はじめはうまくいっていたのですが、起動項目に入れておくエイリアス
の数が増えるにつれて、このAppleScriptでつまずくようになりました。
 この問題を解決するためにはどうすればいいのでしょうか。
 スクリプトを以下に示しています。

--------------------スクリプトの中身--------------------

tell application "Macintosh HD:ファイルメーカーPro 4.0:ファイルメーカー Pro"
  open file "Macintosh HD:開きたいファイル" with password "xyz"
end tell

稲垣 さんからのコメント
( Friday, July 30, 1999 20:39:53 )

 起動項目は、単純にファイル名の順番でオープンしているだけのはずです。
なので、起動項目に入れてあるファイル名を、起動して欲しい順になるように
すればいいかと思います。
 例えば、数字をファイル名の頭につければ、その順番で起動するはずです。


TK さんからのコメント
( Saturday, July 31, 1999 11:02:35 )

 稲垣さん、返事ありがとうございます。

> 起動項目は、単純にファイル名の順番でオープンしているだけのはずです。
>なので、起動項目に入れてあるファイル名を、起動して欲しい順になるように
>すればいいかと思います。
> 例えば、数字をファイル名の頭につければ、その順番で起動するはずです。

 書き忘れていましたが、稲垣さんの言われていた方法(↑)をすでに試していました。
 しかし、アプリ毎に起動までにかかる時間が異なるので、うまく起動がコントロール
できないと思っていました。
 なぜこんなことを聞いているかと言いますと、もうすぐDNSサーバを立ち上げるかも
しれないので、1.MacDNS、2.QPQ 2.1.2、3.EIMS 1.3.1、4.Macjordomo・・・
のような順番でアプリの起動をコントロールしたいと思ったからです。
 やはりきちんと順番を決めるためには、AppleScriptしかないのでしょうか。
 もしScriptを組むとなると、各アプリを起動する間を数秒あけたいと思っているの
ですが、このためにはどうすればいいのでしょうか。


加藤 鉄生 さんからのコメント
( Saturday, July 31, 1999 12:42:47 )

AppleScriptのMLで、Wait Application Scripting Addition
というのが紹介されていました。
その他プロセスの終了を待つなどの手法が
紹介されていましたがアプリケーションの終了を待つだけなら
それでも良いかも知れません。
AppleScriptはまだ勉強中のため詳しいことはお答え出来ませんが、
参考になれば幸いです。
#今は別件でWebコンパニオンとSunOSについて勉強中です。
#自分の力の無さを痛感してます(T_T)。
#愚痴ってごめんなさい。
それでは。

→  Wait Application Scripting Addition

加藤 鉄生 さんからのコメント
( Saturday, July 31, 1999 13:04:26 )

上のコメントに誤りがありました。ごめんなさい。
”アプリケーションの終了を待つ”ではなくて、
”アプリケーション起動の完了を待つ”の間違いです。
訂正します。
それから、AppleScriptのMLは以前、ここで田中先生が
紹介された(と記憶している)ASUGのMLです。
#記憶間違いでしたらごめんなさい。
僕もWebSTARを使ったサーバーの起動項目にAppleScriptを
入れていました。(今は起動項目は使ってません)
頑張って下さい。

→  AppleScript Users Group ML

田中求之 さんからのコメント
( Saturday, July 31, 1999 16:10:55 )

>1.MacDNS、2.QPQ 2.1.2、3.EIMS 1.3.1、4.Macjordomo・・・
>のような順番でアプリの起動をコントロールしたいと思ったからです。

私のサイトでは、単純に、エイリアスの名前を変更することで、各種
サーバーが立ち上がる順番をコントロールしていますが、特に問題は
起きていませんよ。

もちろん、スクリプトをかいて、順序よく確実に起動するようにする
こともできますけど。

さんからのコメント
( Monday, August 02, 1999 14:36:32 )

浅知恵ですみません。
うちのNew G3は、起動項目に7つくらいエイリアスがあって
開かせると一気に開いて、時々ハングすることがあったので
以前、ここで出ていた"delay (sec)"を使って数秒づつ
遅らせて起動させています。

()の部分を数字に置き換えて使ってます。

ところで
open file "Macintosh HD:開きたいファイル" with password "xyz"
ってパスワード入力してくれるんですか??

TK さんからのコメント
( Monday, August 02, 1999 18:39:36 )

>浅知恵ですみません。
>うちのNew G3は、起動項目に7つくらいエイリアスがあって
>開かせると一気に開いて、時々ハングすることがあったので
>以前、ここで出ていた"delay (sec)"を使って数秒づつ
>遅らせて起動させています。
>()の部分を数字に置き換えて使ってます。
 すみませんが、具体的な使い方(スクリプトの実例)を教えていただけませんか。
 鯖さんが言われていることが私のところのサーバ(旧G3/233MHz)でもたまに
起こります。
 よろしくお願いします。

ところで
open file "Macintosh HD:開きたいファイル" with password "xyz"
ってパスワード入力してくれるんですか??
 そうです。FM Pro 4.0だったら、パスワードを入力してくれます。
 うちは化学系の研究室(大学です)なんですけど、毒物事件以来、試薬の管理を
厳しくしなければならなくなりました。そこで、FM Pro 4.0を使って、データベース
を作っています。余談が長くなりました。すみません。
 それで、そのデータベースにはいろいろアクセス制限(一般ユーザはレイアウトの
変更などできない等々)をかけていています。この方法では、起動時に毎回パスワード
を入れるのが面倒で、データベースサーバの起動が自動化できないのでAppleScriptを
組みました。
 詳しくは知らないですが、FM Pro 4.0ってApple Eventsとか言うのに対応している
みたいでAppleScriptを使っていろいろなことができるみたいです。
 たぶん、FM Pro 4.0フォルダの中に「Apple Events」なんとかというフォルダが
あって、そこを参考したような気がしています。
 記憶が定かでないので、知っている方、サポートして下さい。

TK さんからのコメント
( Monday, August 02, 1999 18:45:24 )

 >マークを忘れて、読みにくくなってしまいました。
 すみません。

さんからのコメント
( Tuesday, August 03, 1999 11:18:44 )

私は本当にAppleScript初心者です。(自分で書けるようになりたい..)
間違ったことをいっていたら、皆様御指摘下さい m(_ _)m

さて、TKさんの書かれた通りにselectしてopenさせる、という風であれば
単に記録させても良いと思いますが、ここのアプリ起動の間に2秒の間隔を
いれるのであれば下のように、"delay 2"をいれていくだけでできると思い
ますが・・・(詳しい方、レスお願い致します)

こちらのNew G3は、起動項目をAppleScriptで開くようにし、MacDNSを
NonSequiturに変えたらかなり安定しました...

-------------単なる一例です..----------------
tell application "Finder"
  select file "Keep It Up (PPC)" of startup disk
  open selection
  delay 2
  select file "AutoShare" of folder "PPC" of startup disk
  open selection
end tell
------------------------------------------------

ちなみに"delay"については以下のWSMを参考にして下さい。
MacOS8.5では標準で使えるそうです...

→  AppleScriptで処理を数秒待たせるには..

TK さんからのコメント
( Monday, August 16, 1999 12:39:58 )

 やっぱりファイルメーカーProのファイルの開くAppleScriptで止まって
しまう(ファイルメーカーProのファイルがうまく開けない)ので、"delay"
を使ってScriptを作りました。
 どうも、起動項目のところでQPQ、EIMS、Netpresentzなどいろいろな
アプリを立ち上げるようにすると、↑のScriptで止まってしまうのです。
 ファイルメーカーProのファイルの開くAppleScriptだけを起動すると、
うまく起動できるので、様々なアプリを立ち上げてから、"delay"を使って
十数秒待ってから、↑のScriptを立ち上げるようにしました。
 そうすると、理由はよく分かりませんでしたが、うまくいきました。

 みなさん、いろいろとありがとうございました。