Mac OSXの起動時に開かれるアプリやファイルを遅延させる

この記事は次のブログに引っ越しました。

ログイン項目の遅延起動方法の概要 Automaterで"delay","wait","sleep"などのスクリプトを使って一時停止させた後、ファイル/アプリを開くスクリプトを実行させるアプリを作り、それをログイン項目に登録する Macの起動時に、登録したアプリやファイルを一緒に起動させたい Macを起動した(ログインした)際に一緒に起動させたいファイルやアプリがあると思います。 Windowsであれば「スタートアップ」フォルダにショートカットを入れるわけですが、Macの場合は「システム環境設定」にある「アカウント」の「ログイン項目」に、起動させたいファイルやアプリをドラッグ&ドロップで登録するだけで起動時に一緒に起動してくれます。 「ログイン項目」に設定した項目の起動が早すぎる(起動スピードを遅らせたい) 問題は、この起動されるファイルが外付けのHDDやDropboxなどにあると、HDDが認識される前やDropboxの同期が終わる前に起動してしまうのでうまく起動できない(起動に失敗する)ことがあることです。 そこで60秒ほど、ポーズというか一時停止というか、待機させてから起動させたいわけです。 遅延付き起動スクリプトAutomatorに登録してアプリを作る シェルスクリプトのファイルを登録する方もありますが、権限の設定を変えるなど、ちょっと慣れが必要なので、ここではAutomatorシェルスクリプトを実行するアプリの作り方を案内します。 (シェルスクリプトでなくAppleScriptでも可能です) Automatorを起動して「ワークフローのテンプレート」では「アプリケーション」を選択する 左側の「ライブラリ」にある「ユーティリティ」から「シェルスクリプトを実行」を右側にドラッグ&ドロップして追加します スクリプトのサンプルとして"cat"が標準で入っているので、下記を参考に書き換えます。 sleep 60 open "/Users/userA/Desktop/IWantToOpenThisFile.fm7" 1行目で60秒待機。2行目で指定されたパスのファイルを開く 右上の「実行」ボタンで動作をテストする 問題なければ(予定通りの遅延後起動されれば)名前を付けて保存 上記で作成したアプリ(保存したファイル)を「システム環境設定」のユーザの「ログイン項目」に登録する