42
ネットワークロケーション 3.0.5

[編集者注:今週のMac Gemsでは、Glenn FleishmanがMacの設定を物理的な場所に基づいて自動的に調整する2つのユーティリティを取り上げます。本日はNetworkLocationを、今週後半にはMarcoPoloを取り上げます。-DF]

複数の場所で仕事をしている場合、場所を移動すると、ワイヤレスネットワークやプリンターなど、さまざまなシステム設定の変更が必要になることはよくご存知でしょう。NetworkLocationは、あなたがどこで仕事をしているのか、遊んでいるのか、あるいは寝ているのかを把握します。この賢いユーティリティは、ネットワークとUSB接続に関するデータを調べて現在地を特定し、設定したルールに基づいて他のシステム設定を変更します。NetworkLocationを使えば、ほぼ望みの状態に近づけることができます。AppleScriptを少し知っていれば、さらに近づけることもできます。

NetworkLocation には、Locations と AutoLocate という2つの主要コンポーネントがあります。Locations は、ユーザーの所在地に基づいて関連付けられる設定のグループです。例えば、オフィスの設定、仕事の設定、友人宅の設定などです。これらのLocations は、一般的な設定(自宅以外の場所)でも、具体的な設定(フリーモントのオフィスで作業中)でも構いません。

場所を設定する際に、その場所がアクティブ化されるたびに実行される関連アクションを選択します。アクションは、アプリケーションおよびシステム固有のカテゴリにグループ化されています。アプリケーションアクションは、その名の通り、特定のプログラムに作用します。これらのアクションを使って、1日の始まりのルーティン全体を設定できます。例えば、複数のプログラムを起動する、iTunesプレイリストの再生を開始する、iChatのステータスを「利用可能」に設定するなどです。外出中は、アプリケーションアクションを使ってMailの送信SMTPメールサーバを変更できます。これは、接続しているネットワークによっては、一部のメールサーバへの接続がブロックされる可能性があるため、便利な機能です。

場所がアクティブ化されるとアクションがトリガーされます。この場合、ブログのホームページを開き、新しい居場所を反映するように iChat のステータスを変更し、変更があったことを知らせるためにデスクトップの背景を入れ替えます。

一部のアプリケーションアクションは、特定の場所から離れたときに以前の状態に戻るように設定できます。また、必要に応じて、起動したプログラムを自動的に終了するように設定することもできます。より高度な設定として、AppleScriptを起動したり、コマンドライン(ターミナル)コマンドを実行したりすることもできます。

システムアクションには、AirPort のオン/オフ、タイムゾーンの変更、ディスプレイの明るさ調整、サーバーへの接続などがあります。システムアクションを設定すれば、場所を離れた際に設定を特定の値に変更したり、以前の設定に戻したりすることもできます。

残念ながら、組み込みのアプリケーションアクションで直接サポートしているプログラムはごくわずかです。そこでAppleScriptが役立ちます。例えば、私はメールソフトにMailsmithを使っていますが、Mailsmithのアクションを直接利用することはできません。しかし、AppleScriptを使ってメールのステータスを無効から自動接続に変更したり、新着メールのチェックを開始したりできます。

場所を変更すると、NetworkLocation は、私が以前にトリガーを設定していたスターバックスに入ったことを認識しました。

位置情報は、AutoLocate機能を使って定義したトリガーとペアリングされます。AutoLocate機能は、特定のデータビットを使って現在地を特定します。具体的には、AutoLocateは4種類のトリガーを使用します。Skyhook WirelessのWi-Fi測位システムで特定される物理的な位置情報、接続しているWi-Fiネットワークの名前、MacがEthernetネットワークに接続されているかどうか(接続されている場合、割り当てられたIPアドレス)、そして接続されているUSBデバイスです。これらのトリガーはそれぞれオプションで、1つだけ定義することも、4つすべてを定義することもできます。

1つまたは複数のトリガーを定義したら、特定のトリガーセットに一致した際に何が起こるかを選択します。場所とアクションは1対1で関連付けることができます。例えば、「オフィス」の条件が満たされると「At The Office」の場所に切り替えます。あるいは、よく行くカフェの場所を定義し、NetworkLocationがそれらの場所を検出すると自動的に「カフェ」のプロファイルに切り替えるように設定することもできます。

Skyhook Wirelessオプションは特に興味深いもので、現在地を使用するか住所を入力し、対応するアクションをトリガーするために現在位置の半径を定義できます。もちろん、NetworkLocationがSkyhookのサーバーにクエリを送信して位置情報を取得するには、Wi-Fiまたはイーサネットネットワークに接続している必要があります。インターネットに接続できない場合、Skyhook機能は動作しません。

「Find Me」をクリックすると、NetworkLocation が Skyhook Wireless のデータベースにクエリを実行し、数秒以内に数フィート以内の精度で現在地を特定します。

NetworkLocation で場所とトリガーのセットを作成しました(実際にはどの場所にもいませんでした)。場所を移動しながら、ラップトップが Wi-Fi ネットワークに接続して IP アドレスを取得するとすぐに、NetworkLocation は設定変更を正しくトリガーしました。

Dock内のプログラムアイコン、またはオプションのメニューバーメニューから、手動で場所を切り替えることもできます。NetworkLocationは据え置き型のMacでも使用できます。例えば、朝オフィスに到着したら、「外出中」の場所から「今いるから、さあ出発だ」の場所に切り替えると、NetworkLocationがメールのチェック、iChatの起動、プログラムの起動などを行い、一日が始まります。

NetworkLocation の設定で一つ不便な点は、システム環境設定のネットワークパネルに複数のワイヤレスネットワークを既存の設定として保存している場合、NetworkLocation の AirPort トリガーセクションで、新しい NetworkLocation の場所を設定する際に、これらの保存済みネットワークがオプションとして表示されないことです。また、近隣の Wi-Fi ネットワークの名前と固有のアドレス(ネットワークの可用性を通知するすべての Wi-Fi ネットワークビーコンに含まれる BSSID)に基づいてトリガーを設定できれば便利です。こうした機能は Skyhook 測位機能を補完するものとなるでしょう。

それでも、場所を移動しながら設定を簡単に変更するには、NetworkLocation が最適です。