Ipad

Mac OS Xでプロセスまたはコマンドがアクティブなときにシステムがスリープしないようにする

Mac OS Xでプロセスまたはコマンドがアクティブなときにシステムがスリープしないようにする

ターミナル多くのMacユーザーは、コンピュータのスリープを一時的に防止するためのユーティリティを使用しています。多くの場合、スリープコーナー、サードパーティ製ツールのCaffeine、pmset、あるいは最近ではOS Xにバンドルされているコマンドラインユーティリティのcaffeinateなどが挙げられます。デフォルトでは、Caffeineのメニューバー項目とcaffeinateコマンドは、それぞれ個別に有効になっている限りスリープを防止します。これはMacでデスクトップを使用するユーザーにとっては非常に便利ですが、OS Xのスリープ機能を特定のプロセスやタスクの完了に応じて実行させたい場合には、あまり役に立ちません。

ここでは、コマンドラインを使用して、プロセス依存のスリープ防止機能について説明します。これは、指定されたコマンド、タスク、またはプロセスが実行中またはアクティブである間のみ Mac のスリープ機能をブロックし、終了するとコンピューターが従来のスリープ習慣を復元するものです。


コマンド固有のスリープ回避を実現するために、caffeinateコマンドのバリエーションを使用します。caffeinateコマンドは様々な方法でスリープを回避できます。いくつか例を挙げますが、caffeinateのマニュアルページには、他の状況でも役立つ可能性のある追加オプションがいくつか記載されています。

カフェインはコマンド実行中の睡眠を妨げる

ここでの目的として、スリープ防止を特定のコマンドまたはプロセスの完了に依存させるには、次のように -i フラグを使用します。

caffeinate -i [command / process]

すでに明らかかもしれませんが、このように caffeinate コマンドを実行すると、引数で指定されたコマンドまたはプロセスも開始されます。

たとえば、「make」コマンドがアクティブなときに Mac がスリープ状態にならないようにしたい場合は、次のコマンド構文を使用します。

caffeinate -i make

または、特定のサーバーへの ssh 接続がアクティブな間はスリープを防止し、 caffeinate コマンドをバックグラウンドで実行したい場合は、次のように末尾にアンパサンドを適用します。

caffeinate -i ssh coffeebeans &

別の場所で独自のスクリプトやコマンドを使用してこれを実行することもできます。

caffeinate -i /private/tmp/./whatisthis.sh

または、Safari Web ブラウザが GUI で実行されている限りスリープ防止を有効にするには、次の構文を使用します。.app ファイル内のバイナリへの完全なパスを指定する必要があることに注意してください。

caffeinate -i /Applications/Safari.app/Resources/MacOS/Safari

-i フラグはシステムのスリープを防止しますが、他のフラグを使用して、ディスクやディスプレイのスリープも防止するアサーションを作成できます。ディスプレイのスリープ(画面がオフになり、ロックモードまたはスクリーンセーバーに入ること)を防止するには、-d フラグが必要です。

caffeinate -d [command / process]

-i フラグと同様に、これはコマンドラインから実行するかGUIから実行するかに関係なく、あらゆるシステムタスクに適用できます。ただし、大文字と小文字を正しく区別して適切な名前を指定してください。別の例:

caffeinate -d telnet towel.blinkenlights.nl

このコマンドは、スター・ウォーズのASCIIムービーへのtelnetがアクティブである限り、Macのディスプレイはスリープ状態にならないことを意味します。telnetが終了するか、スター・ウォーズの再生が終了すると、システムはOS Xのスリープと省電力設定で通常許可されているスリープ状態になります。

もちろん、caffeinateは完全にコマンドラインベースなので、すべてのユーザーに適用できるわけではありませんが、ターミナルを長時間使用する人にとっては素晴らしいツールになるかもしれません。グラフィカルユーザーインターフェースに慣れているMacユーザーにとっては、効果的なアンチスリープコーナーとCaffeineアプリの使用が、同様の機能を実行するための最良の選択肢となるでしょう。

同様のプロセス依存タスクを実行したいが、ターミナルやコマンドラインは使用したくないという場合は、Wimowehアプリがメニューバーのドロップダウンと同じ機能を提供します。ただし、有料アプリであるため、一部のユーザーには魅力的ではないかもしれません。また、一般的なプロセスまたはコマンドラインベースのタスク完了引数は提供されていませんそのため、適切なフラグを指定したCaffeinateの方が、依然として多くの人に好まれています。