大きなコピーの途中で Mac をスリープさせない方法

外付けドライブや NAS への大きなコピーは、1時間かかることも珍しくありません。その間に席を離れると、macOS が Mac を操作されていないと判断し、途中でスリープさせてしまうことがあります。スリープ中の Mac は何もコピーしません。
結論から言うと: コピーが続いている間だけ、Mac を起きたままにしておくことです。方法は3つあります。ターミナルで caffeinate コマンドを使う、電源につないでいる間のスリープ設定を変える、そしてコピー中であることを macOS に伝えてくれるファイルマネージャを使う方法です。手作業のものから自動のものへ順に紹介します。
Mac がスリープすると大きなコピーが止まる理由
macOS は、最後にキーを押した、クリックした、またはトラックパッドを動かしたときからの無操作時間を数えています。システム設定で決めた時間が過ぎると画面が消え、続いて Mac がスリープできるようになります。ファイルのコピーはこの意味での「操作」には含まれません。コピーしているアプリが macOS に起きているよう明示的に頼まない限り、コピーの途中でもスリープが始まります。
スリープ中は、動いているプログラムが一時停止します。ローカルのディスク同士のコピーは、Mac を起こすまでそのまま止まるだけなので、戻ってきてもまだ終わっていません。サーバや NAS へのコピーはもっと厄介です。ネットワーク接続はスリープを越えて保たれないことが多く、コピーがエラーで終わることもあります。
何が Mac を起こしたままにしているかを見る
ターミナルを開いて次のように入力します:
pmset -g assertions
この一覧には、起きたままでいるための要求(macOS では「アサーション」と呼びます)と、それを出したプロセスがすべて表示されます。PreventUserIdleSystemSleep は「無操作による Mac のスリープをしない」、PreventUserIdleDisplaySleep は「画面を消さない」という意味です。アクティビティモニタの「エネルギー」タブにも、スリープを妨げているアプリがわかる列があります。この一覧にコピーに関係するものが何もなければ、Mac はいつでも眠ってしまいます。
方法1:ターミナルで caffeinate コマンドを使う
caffeinate は macOS に最初から入っています。同じ種類のアサーションを作り、実行している間それを保ちます:
caffeinate -iは、そのターミナルのウインドウで ⌃ C を押すまで、無操作によるスリープを防ぎます。caffeinate -i -t 7200は同じことを7200秒(2時間)続け、その後に解除します。caffeinate -dは画面も点けたままにします。caffeinate -sは、Mac が電源アダプタにつながっているときだけスリープを防ぎます。caffeinate -i ditto ~/Movies/Project "/Volumes/Travel SSD/Project"はコピーそのものを実行し、終わるまで Mac を起こしておき、終わったら解除します。
最後の書き方がいちばんすっきりしています。時間を見積もる必要がありません。ただし、実行するのを忘れないこと、そのターミナルのウインドウを開いたままにすること、そして Finder ではなくコマンドラインでコピーすることが必要です。
方法2:スリープの設定を変える
ターミナルを使いたくない場合は、電源につないでいる間に Mac が勝手にスリープしないようにできます:
- MacBook: システム設定 › バッテリー › オプション…で、画面が消えているときに電源アダプタ接続中の自動スリープを防ぐ項目。
- デスクトップ Mac: システム設定のエネルギーに関する項目で、画面が消えているときの自動スリープを防ぐ項目。
- 画面: システム設定 › ロック画面で、バッテリー使用時と電源アダプタ接続時に画面を消すまでの時間を決めます。
正確な項目名は macOS のバージョンによって少し異なります。欠点は、この変更がずっと続くことです。元に戻すまで、コピーの間だけでなく毎晩 Mac が起きたままになります。また、バッテリー駆動の MacBook は自分の設定どおりにスリープします。
方法3:自分で Mac を起こしておくファイルマネージャ
いちばん手間がかからないのは、コピーしているアプリ自身が、作業中だけ Mac を起こしておくことです。Amphetamine のようなユーティリティは必要なときに手動でこれを行います。Folia Files は自分の操作について自動で行います。

コピー、バックアップ、読み込みの間は自動で
Folia Files で操作(コピーや移動、バックアップ、メモリーカードの読み込み、同期)が実行されている間、アプリは macOS に無操作によるスリープをしないよう求めます。画面は消えてもかまいません。そのほうが電力の節約になり、コピーはその裏で続きます。最後の操作が終わると要求は取り下げられ、Mac はいつものスリープ設定に戻ります。pmset -g assertions では「Folia Files:操作の実行中」と表示されます。
この機能は最初からオンになっています。確認するには、Folia Files › 設定…(⌘ ,)› ファイルとネットワークを開きます。コピーセクションにあるスイッチが コピー、バックアップ、読み込みの間は Mac をスリープさせない です。

そのすぐ上には、役に立つ設定がもう一つあります:ネットワークやディスクの取り外しで中断されたコピーを自動的に再開。それでもコピーが途切れた場合(NAS の接続が切れた、ケーブルが抜けた)、Folia Files はボリュームが戻るのを待ち、最初からやり直すのではなく止まったところから続けます。
メニューバーから必要なときに
コピーだけが理由とは限りません。長いダウンロード、書き出し、プレゼンテーションのときもあります。メニューバーの Folia Files の項目には Mac をスリープさせない があり、30 分間、1 時間、2 時間、4 時間、停止するまで から選べます。こちらは画面も点けたままにします。
有効な間は、メニューに Mac をスリープさせない と残り時間が表示されます。クリックすると、再び Mac がスリープできるようになります。操作が Mac を起こしたままにしているときは、メニューに 実行中の操作が終わるまでスリープしません と表示されます。メニューバーの項目は最初から表示されています。非表示にした場合は、設定 › メニューバーの メニューバーにFolia Filesを表示 で戻せます。
サイト版と App Store 版
Mac を起こしたままにする機能は、どちらの版でも同じように動きます。macOS は、サンドボックスの内外を問わず、どのアプリにも特別な許可なしにこの要求を認めています。App Store 版では、同期には無料の Folia Files Companion が必要ですが、コピー、移動、バックアップ、カードの読み込みには必要ありません。
どのアプリにも防げないこと:蓋を閉じる
MacBook の蓋を閉じると、caffeinate やどのアプリが何と言おうとスリープします。例外はクラムシェルモードで、Mac が電源アダプタにつながり、外部ディスプレイ、キーボード、マウスまたはトラックパッドが接続されている場合です。この構成でなければ、蓋は開けたままにしてください。画面は勝手に消えてもかまいません。コピーは続きます。
大きなコピーの前のチェックリスト
- MacBook を電源につなぐ。バッテリー駆動ではスリープ設定が厳しく、長いコピーでバッテリーも減ります。
- 外部ディスプレイを使っていない限り、蓋は開けたままにする。
- Mac を起こしておいてくれるアプリでコピーを始めるか、コマンドの前に
caffeinate -iを付ける。 - 不安なら
pmset -g assertionsを実行し、コピーが一覧にあるか確かめる。 - 終わったらディスクを正しく取り出す。macOS が「使用中」と言う場合は、使用中のディスクを取り出す方法をご覧ください。


