2008年に、Webブラウザのファイルダウンロード機能に取って代わり、多くの機能を提供する優れたダウンロードマネージャー、Leechをレビューしました。(残念ながら、Leechはもう利用できないようです。開発元のウェブサイトはしばらくオフラインになっています。)Leechの便利な機能の一つは、すべてのダウンロードが完了するとMacを自動的にシャットダウンできることです。しかし、この機能は気に入っていたものの、ダウンロード完了時にMacをスリープ状態にできないのは奇妙に感じました。
Michael Hawelka氏の GoodNightはまさにそれを実現します。ただし、ダウンロードを監視するのではなく、 Macのネットワークアクティビティ全体を監視します(まあ、ほぼ監視しますが。下記参照)。このアプローチには、あらゆるプログラムで使用できるという明らかな利点があります。例えば、FTPクライアントやBitTorrentクライアントを使って深夜にファイルのダウンロードを開始し、ダウンロードが完了するとMacがスリープ状態になることを確認できます。さらに、GoodNightはファイル共有など、オペレーティングシステム自体が提供するサービスからのトラフィックも監視します。
GoodNight を設定するには、まずプログラムで監視するネットワークポート(Ethernet、AirPort、FireWire など)を選択します。GoodNight は複数のネットワークインターフェースやすべてのネットワークトラフィックを同時に監視することはできませんが、複数のネットワークインターフェースを監視する必要がある状況は稀なので、ほとんどのユーザーにとって問題にはなりません。

次に、GoodNight でダウンロードまたはアップロードのトラフィックを監視するかどうかを選択し、「速度制限」を選択します。これはトラフィックのしきい値で、キロビット/秒単位で、この値以下になると GoodNight は Mac が非アクティブであると判断してスリープ状態にします。ネットワーク トラフィックが一時的に制限値を下回っても心配する必要はありません。GoodNight は 1 分間の平均値、つまり過去 1 分間の平均トラフィック レートを使用するため、データ レートの変動によってスリープがトリガーされることはありません。逆に、スリープ トリガーとしてネットワーク トラフィックがまったくない状態ではなく最小データ レートを使用することで、GoodNight は、インターネット プログラムが接続を維持するためにリモート サーバーに継続的に ping を送信している場合でも Mac をスリープ状態にします。便利なディスプレイに過去 1 分間の平均ネットワーク トラフィック レートが表示されるので、適切な非ゼロの制限値を判断するのに役立ちます。
最後の設定はおそらく最も重要だろう、時間制限だ。ネットワークデータレートが速度制限を下回ったときに直ちに Mac をスリープ状態にするのではなく、指定した時間にわたってネットワークトラフィックがその制限値を下回るまで GoodNight を待機させるように選択できる。この機能は不安定な接続に対する余裕をさらに増やしてくれるが、ファイルサーバーとして動作している Mac を持っていて、さまざまなファイルの転送が終わった後にのみ Mac をスリープ状態にしたい場合にも便利だ。例えば、私はファイル共有用の Mac mini を、ネットワークトラフィックが少ない状態が 10 分間続いたらスリープ状態にするようにプログラムを設定した。10 分間の時間制限は、特定のファイル転送が終わった後に Mac が直ちにスリープ状態にならず、その代わりに他のファイルのコピーを開始するための 10 分間の「猶予期間」が与えられることを意味する。
残念ながら、設定できる時間制限は最長10分です。Mac miniを1時間ネットワークにアクセスしない状態が続いたらスリープ状態にしたいと思ったことがあります。そうすれば、業務時間中にスリープ状態になることは防げますが(日中はネットワーク経由でMac miniに1時間以上アクセスしないことは滅多にありません)、勤務時間終了後にスリープ状態になってしまいます。
GoodNight がネットワークトラフィックの監視を開始するのは、ネットワークデータ速度が速度制限を超えた場合のみというオプションもあります。これは、混雑したサーバーからダウンロードしようとしている場合に便利です。GoodNight は、インターネットプログラムが接続を確立して目的のファイルのダウンロードを開始するまで待機し、ダウンロードが完了するまで待ってから Mac をスリープ状態にします。(ここでのサブ設定では、接続を放棄する時間制限を指定できます。例えば、15分経ってもデータ転送速度が速度制限を超えない場合、GoodNight は直ちに Mac をスリープ状態にすることができます。)
上で述べた小さな問題に加えて、GoodNight で分かりにくい点は、監視するネットワークポートを選択する際に、選択肢が Ethernet、AirPort、FireWire として表示されず、OS X の物理アドレス en0、en1、en2、fw0 などとして表示されることです。どのポートがどれなのかわからない場合は、ネットワークユーティリティ ( /Applications/Utilities) を起動し、「情報」タブをクリックして、ポップアップメニューから現在のネットワークインターフェースを選択してください。括弧内のポート番号 (例: en1 ) が GoodNight で選択するポート番号です。
最新の Gems 情報を常に入手したいですか? Mac Gems ニュースレターにご登録いただくと、毎週、Gems のレビュー概要がメールで直接受信ボックスへ送信されます。