先日よりメインマシンをM4 Mac miniに乗り換えました。
ストレージ容量が256GBしかないため、無駄なアプリやファイルはできるだけ置かないように気をつけているのですが、外部ストレージにある巨大フォルダ(VMフォルダ)をコピペして整理していると、なぜか内蔵ストレージが大量に消費されるという問題が発生して困っていました。
最初は「Windowsアプリ(旧リモートデスクトップアプリ)」が原因かと思っていたのですが、リモートデスクトップを使わず、ローカルに接続した外部ストレージ間でフォルダをコピペしても内蔵ストレージが消費されているようなのです。
詳しく調べて見たところ、この問題はApple特有の便利機能「ユニバーサルクリップボード」が影響している可能性があり、同機能をオフにすることで一応解消することができました。
以下説明です。
ユニバーサルクリップボードとは
ユニバーサルクリップボードは自分が所有するiPhoneやiPad、Mac間でクリップボードの内容を共有することができる便利な機能です。Macの場合Finderでコピー&ペースト(Command+C -> Command+V)を実行すると発動し、コピーした内容が内蔵ストレージの以下のフォルダに保存されるようです。
~/Library/Group\ Containers/group.com.apple.coreservices.useractivityd/shared-pasteboard
巨大なフォルダやフォルダをFinderでコピーすると、外部ストレージ間の操作であっても、内蔵ストレージを食い潰してしまい、次の画像のようにshared-pasteboard以下に大量のデータが書き込まれてしまいます。
ストレージが逼迫すると、macOSの動作が全体的におかしくなってしまいます。そのまま放置していてもなかなか空き容量は復活せず、手動で削除する必要がありました。実際はshared-pasteboardの下のarchivesの容量がほとんどであるため、ここを削除します。
ターミナルを開き、以下のコマンドを実行します。
/bin/rm -rf ~/Library/Group\ Containers/group.com.apple.coreservices.useractivityd/shared-pasteboard/archives
shared-pasteboardフォルダはuseractivitydというバックグラウンドサービスが使用しており、全体的に削除するのはやめた方が良いと思います。
Handoffをオフにする以外対策はない?
今回の問題はユニバーサルクリップボードが原因で起こっているようですが、設定などでユニバーサルクリップボードのみをオフにすることはできないようです。そのかわり共有機能の根幹を成す、Handoffをオフにすればユニバーサルクリップボードも無効化できます。
▲システム設定を起動し、「一般 > AirDropとHandoff」を選択します。「このMacとiCloudデバイス間でのHandoffを許可」をオフにします。
これで問題は解決しますが、Handoffをオフにすると、ユニバーサルコントロールなどその他の便利機能も使えなくなってしまうため注意が必要です。
なお、Handoffを有効にしたままで内蔵ストレージの消費を避けたい場合、Finderでドラッグ&ドロップする(100%有効かどうかは不明)、cp/rsyncなどコマンドラインツールを使うなどの対策はあるようです。
まとめ
ユニバーサルクリップボードは便利な機能ですが、Macで巨大なファイルやフォルダをコピペすると内蔵ストレージが大量に消費されるという問題が発動することがあります。Handoffをオフにするという対策がありますが、オフにするとHandoffを使用する便利な機能が利用できなくなります。
ユニバーサルクリップボード単体をオフにする機能か、ユニバーサルクリップボードのサイズ制限機能が追加されるのを期待したいです。