ディスクの不正な取り出し通知を一発で消すスクリプトを作る

macOSではUSBメモリなどのストレージデバイスをあらかじめmacOS上で取り出して(アンマウントして)おかないと、デバイスを物理的に取り外した時に「ディスクの不正な取り出し」という警告が表示される。

僕の場合、eGPUのトラブルやFinderのハングアップによりやむを得ずストレージを無理矢理取り出す場合があるため、この警告は非常に鬱陶しい。

ただ、この警告は2020年現在では無効にすることはほぼ不可能であるため、ここではApple Scriptを使用して「ディスクの不正な取り出し」という通知のみを一発で消す方法を紹介する。

なお、本記事の方法はmacOS Big Surでは効果がないが、macOS Big Sur正式版リリース後に改めてmacOS Big Sur向けの解説を追記する。

ディスクの不正な取り出し通知を消すスクリプト作成手順

1. スクリプトエディタを起動する

まずmacOSにデフォルトで存在する「スクリプトエディタ」を起動する。

起動したら「新規書類」をクリックする。

2. Apple Scriptを貼り付ける

エディタ画面で下記のスクリプトをコピペする。

tell application "System Events"
tell process "NotificationCenter"
    set numwins to (count windows)
    repeat with i from numwins to 1 by -1
        tell window i
            set temp to value of static text 1
        end tell
        if temp contains "ディスクの不正な取り出し" then
            click button "閉じる" of window i
        end if
    end repeat
end tell
end tell

なお、このスクリプトは日本語環境向けに調整はしているものの僕が考えたスクリプトではなく、Ask DifferentのOZBog氏のスクリプトを利用したため、この場を借りてお礼を申し上げる。

スクリプトを貼り付けて上記のようになったらひとまず完了だ。

3. スクリプトをアプリケーションとして保存する

続いてメニューバーの「ファイル」から「保存」をクリックして作成したスクリプトに適当な名前を付けてアプリケーションとして保存する。

4. アプリケーションにアクセシビリティ権限を与える

保存したアプリケーションを実行し、上記警告が出たら「OK」をクリック。

この段階では上記警告の後にエラーが出るため、システム環境設定の「セキュリティとプライバシー」を開き「プライバシー」のタブを開く。

「プライバシー」のタブを開いたら左サイドパネルから「アクセシビリティ」を選択し、「+」ボタンで作成したスクリプト(アプリケーション)を追加してチェックを付ける(既に追加済みの場合はチェックを付けるだけでいい)。

5. 正常に「ディスクの不正な取り出し」通知が消えたら完了

改めてアプリケーションを実行すると「ディスクの不正な取り出し」という通知は自動で消えるはずだ。

あとはこのアプリケーションをDockなどに固定しておけば「ディスクの不正な取り出し」という通知が大量に表示された場合であっても、Dockからこのアプリケーションを起動するだけで「ディスクの不正な取り出し」通知をワンクリックで消すことができる。

その他の方法 - 完全無効化は現在のmacOSでは現実的ではない

冒頭でも書いた通り、現在のmacOSでは通常の方法では「ディスクの不正な取り出し」という通知自体を無効にするのはほぼ不可能か現実的ではない。

下記コマンドをターミナルで実行することでシステムからの通知を全て消すことは可能だが、SIPを無効にする必要がある上にシステムからの通知(アプリケーションがアクセス許可を求めているといったポップアップ)が全て無効になるためデメリットが大きすぎる。

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.UserNotificationCenter.plist

元に戻す場合は下記コマンドを実行する。

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.UserNotificationCenter.plist

また、「killall NotificationCenter」といったキルコマンドを使用する方法も単に通知センターが再起動されるだけで「ディスクの不正な取り出し」という通知は消えない。

まとめ

「ディスクの不正な取り出し」という通知は文言は違うもののWindowsでも同様の警告が存在し、ディスク内のデータの破損の危険性をユーザーに周知することに一役買っているが、パワーユーザーの場合、こういった通知が煩わしい場合もあるため本記事の方法でワンクリックで消せるようにしておくと便利だろう。