94
OS Xでアプリケーションやドキュメントを自動的に開く4つの方法

AppleはOS Xでアプリケーションやドキュメントを開くのを比較的簡単にしていますが、そのプロセスを自動化し、指を動かすことなく必要な時にアプリケーションやドキュメントを開きたい場合もあるでしょう。例えば、ログインするたびにメールが開くようにしたい場合や、毎週金曜日の午前9時に特定のアプリセットが開くようにしたい場合などです。あるいは、より凝った設定にして、特定のディスクがマウントされるたびに特定のプログラムが開くようにしたい場合もあるでしょう。

これらすべては、OS X に組み込まれているツールを使用して可能です。実際、サードパーティ製ツールを介さずに、Mac でアプリケーションやドキュメントを開くスケジュールを設定したり自動化したりするには、4 つの異なる方法があります。

ログイン項目

特定の書類やアプリケーションを自動で開く最も一般的な方法は、アカウントにログインするたびにそれらを開くようにOS Xに指示することです。これにはいくつかの方法があります。まず、Dock上のプログラムを右クリックし、「オプション」サブメニューから「ログイン時に開く」を選択します。または、システム環境設定の「ユーザとグループ」パネルを開き、自分のユーザーアカウントの「ログイン項目」タブを選択し、ウィンドウ下部のプラス(+)ボタンとマイナス(-)ボタンを使ってリストに項目を追加または削除することもできます。

ログイン項目

このリストにファイルをドラッグすると(またはプラス (+) ボタンを使用すると)、ログインするたびに OS X で自動的にファイルを開くことができます。

ログイン項目リストは、開発者がバックグラウンドアプリケーションや、インストールしたサードパーティ製プログラムのシステムメニュー拡張機能を開くためによく使用されます。しかし、実質的には、ドキュメントなど、あらゆる項目を追加できます。ドキュメントは(リストに追加すれば)デフォルトのアプリケーションで開きます。

フォルダーアクション

アプリやドキュメントを自動的に起動する 2 番目の方法は、OS X に組み込まれているフォルダーアクションを使用する方法です。これにより、指定したフォルダーの内容が変更されたときにスクリプトをトリガーできます。

これを設定するには、AppleScriptエディタユーティリティを開き、環境設定の「一般」タブで「メニューバーにスクリプトメニューを表示」を有効にします。有効にしたら、このメニューを開き、「フォルダアクション」サブメニューから「フォルダアクションを設定」を選択します。ポップアップパネルで、フォルダアクションを有効にするチェックボックスをオンにし、左側の列の下にあるプラス記号をクリックしてフォルダを追加します。次に、フォルダを選択し、右側の列のプラス記号をクリックして、スクリプトをこのフォルダにバインドします。

便利な組み込みスクリプト「add—new item alert」が1つあります。これはフォルダの内容を監視し、新しい項目が追加されると通知します。このスクリプトをコピーして、新しい項目を起動するように設定することもできます。あるいは、AppleScriptエディタまたはAutomator(新規ワークフロー作成時に「フォルダアクション」を選択)を使って、フォルダの内容を起動する独自のカスタムフォルダアクションを作成することもできます。

フォルダアクションの設定

フォルダー アクションを使用すると、フォルダーにアイテムが追加されたときに通知したり、関連付けられているアプリを自動的に開いたりすることができます。

たとえば、特定のフォルダに追加した PDF が自動的にプレビューで開くように Automator ワークフローを設定できます。

  1. Automator で新しいワークフローを作成し、ワークフローの種類として「フォルダーアクション」を選択します。
  2. ウィンドウの上部で、新しいアイテムが追加されたときにこのワークフローを実行するフォルダーを指定します。
  3. ワークフローに「フィルター ファインダー アイテム」アクションを追加し、「種類が PDF である」を唯一のルールとして、すべての条件が true になるように設定します。
  4. 次に「Finder 項目を開く」アクションを追加し、アプリケーションをプレビューに設定します。

このワークフローを保存すると、指定したフォルダに新しいPDFファイルを追加すると、プレビューで開くようになります。この方法を使えば、他のファイルタイプやアプリケーションも同様に指定できます。また、Automatorを使ってフォルダに追加されたアイテムに対して、アイテムの移動、削除、その他のサポートされているアクションを実行することもできます。

カレンダー

カレンダーアプリはスケジュール管理の手段としてしか考えられないかもしれませんが、特定の時間にドキュメントやアプリケーションを起動するのにも使えます。手順は以下のとおりです。

  1. 新しいイベントを作成します。
  2. このイベントにアラームを設定します。
  3. アラートメニューでカスタムを選択します。
  4. アラートの種類として「ファイルを開く」を選択します。
  5. 開きたいアプリケーション、ドキュメント、Automator、または AppleScript アプリケーションを選択します。
  6. アラートをトリガーする日時を設定し、保存します。

こうすることで、アラートがトリガーされると、指定されたファイルが開いたり実行されたりします。カレンダーを使うと、イベントを素早く移動したり複製したりできるのが便利です。また、イベントを専用の自動タスクカレンダーに追加した場合は、カレンダーのチェックを外して非表示にすることもできます。

ローンチエージェント

ログイン項目、フォルダーアクション、カレンダーを起動プラットフォームとして使用することで、かなりの作業を行うことができます。しかし、プログラムの実行方法をより細かく制御する必要がある場合があります。特に、特定の時間間隔や特定の条件下で実行する必要があるバックグラウンドタスクの場合はなおさらです。

このような場合、システムランチャーが特定の時間に、またいくつかのオプションの条件下でタスクを実行するように設定するための「起動エージェント」と呼ばれるスクリプトを作成すると効果的です。起動エージェントの設定は非常に複雑になる場合がありますが、シンプルなものであれば比較的簡単に設定できます。難しいのは、スクリプトの構文を理解することだけです。

起動エージェントplist

起動エージェントにはラベルとプログラム引数のセクションが必要であり、これらを設定することで、様々な方法でプログラムを起動できます。この例では、Googleソフトウェアアップデートプログラムが3523秒ごとに起動されます。

Launch Agent スクリプトは、基本的に標準的なプロパティリスト (plist) XML ファイルであり、2 つの主要なキーと値の要件があります。1 つ目は、システムランチャーに表示され識別されるラベルです。2 つ目は、Mac 上の実行ファイルを指すプログラム引数です。さらに、プログラムをいつ起動するかを指定する必要があります。

Launch Agentファイルはテキストエディタで作成できますが、Launchd Plist Generatorなどのオンラインツールを使用する方法もあります。このサイトでは、使用するラベルを指定し、「プログラム引数」フィールドにプログラムへのフルパスを指定し、プログラムの起動条件を設定してから、生成されたplistファイルをユーザー名 > ライブラリ > LaunchAgentsフォルダに保存できます(このフォルダが存在しない場合は作成する必要があります)。

OS Xでは、.appで終わるプログラムファイルは実際にはフォルダなので、これらのアプリを起動するには、フォルダ内の実行ファイルを指定する必要があります。例えば、以下はOS Xのデフォルトの場所にある電卓アプリケーションのフルパスと、起動エージェントファイルのプログラム引数の値です/Applications/Calculator.app/Contents/MacOS/calculator

確かにこのアプローチは複雑に見えるかもしれませんが、スクリプトやプログラムをバックグラウンドで実行するために使用できるため、バックアップ、メンテナンス、その他のカスタム ルーチンに非常に役立ちます。

直接および間接的な発射

上記の方法はアプリケーションを直接開くのに使用できますが、スクリプトを実行して目的のアプリケーションを起動させることも検討できます。スクリプトを使用すると操作が複雑になりますが、スケジュール設定は一度設定してしまえば後はスクリプトを更新するだけで、開くアプリケーションやその起動方法を変更することができます。

スクリプトは難しそうに聞こえるかもしれません。シェルスクリプトやAppleScriptでさえ、正しく書くのは大変な場合があります。しかし、AppleのAutomatorプログラムを使えば、基本的なワークフローを比較的簡単に作成できます。作成したワークフローを小さなアプリケーションとして保存し、上記の方法を使って、設定したスケジュールや条件で起動することができます