macOSのChromeでローカルネットワーク問題

macOS 15.x Sequoiaにしてからの割と重大なバグなのに未だに解消されていない問題として、「Chromeが定期的にローカルネットワーク上のデバイスを見つける」の許可を求めてくる問題があります。

ここで許可するを毎回クリックすればそれで問題がないと言えば問題ないのですが、ここで「許可しなかった場合」には割と致命的な問題が発生します。GoogleはApple側のバグとして対処はしていないようです。

この件についてまとめてみました。

問題点について

ローカルネットワークに増殖する

macOSのシステム設定→プライバシーとセキュリティ→ローカルネットワークに、許可をするたびにChromeの項目が増殖し、そしてすべてのトグルが個別ではなく連動してるという状況になっています。最近のAppleはちょっと技術力に疑問符がついてきておりこのようなオカシナバグがOSのアップデートのたびに発生しています。

このままでも害悪はないのですが、問題は次項の許可しなかった場合。この項目はこのパネル上で削除も出来なければ再度許可することも出来ません。PingもSSHも通るのにChromeだけが画面のキャストも出来ずERR_ADDRESS_UNREACHABLEとなってローカルエリアで繋がらないので非常に厄介なトラブルです。

※ローカルエリアに繋がらないので、例えばNASのWeb管理画面等にも繋がらなくなります

図:増殖したChromeの設定

図:ここで許可しないをクリックしてはいけない

キャストができなくなる

致命的なのが一度でも許可しないとすると、ローカルネットワークに過去の設定が増殖していて、これらをオン・オフしてもFire TV StickやChromecastに対してのキャストが出来なくなります

AppleのコミュニティMacRumorsでも議論されていますが、未だに決定的な解決策は出ていません。ターミナルから「com.apple.networkextension.plist」を削除するみたいなコメントもありますが、Operation not Permittedで削除は出来ません。Appleの開発者フォーラムでも議論はされていますが、新たなバグが発見されただけで何も解決していません。

キャストできなくなるので、Fire TV StickやChromecastやAirServer, AirReceiverなどがすべて検出出来なくなり、macOS側から画面のキャストで飛ばすことが出来なくなります。プレゼンなどでもこの画面のキャストを自分はプロジェクターにFire TV Stickなどを繋げて飛ばしていたりするので困ります。

macOS用のEdgeでも同様の問題が発生するようです(同じChromiumだからなのだろうか)

暫定対処策

Chromeを再インストール等

2025年3月時点、macOS 15.3に於いてもこの問題は解決しておらず、ローカルネットワークのパネルにはChromeの項目が増殖しつづけて削除もできず、また拒否をすれば画面のキャストができなくなり詰みます。

色々検証してみましたが、自分の場合以下の方法でとりあえずキャスト出来る状態に戻せました。

  1. ローカルネットワークで一度Chromeの許可をオフにする
  2. もう一度オンにする
  3. マシンを再起動する
  4. Chromeにアップデートが来ていたのでアップデートを実行する
  5. Chromeを再起動する

これで以前のようにキャストでChromecastやFire TV Stickが出てくるようになりました。たまたまアップデートが来ていたのでこの手法で出来ましたが来ていない場合は、公式サイトの方法やAppCleanerを使ってアンインストール後に、再度Chromeを再インストールすると同様に出来るのではないかと思います。

アプデで増えるということはアプデでまたクリアされる。つまり今回の問題はChrome側がインストールやアプデする毎に、macOSから新アプリと看做されてる事が原因。しかし、Parallelsなどはアプデしても増殖もしないし問題も起きていません。よって、これはGoogle側のChromeのインストール方法がオカシイのも原因の1つだと思われます。

セーフモードでmacOSを起動して再度再起動というパターンも提示されていましたが効果ないのではないかと思います。

図:キャスト出来るようになった・・・

図:セーフモードでの作業は意味がなかった・・・

Firefoxとfx_castを利用する

Firefoxにはデフォルトでタブをキャストするような機能がありませんが、Githubで公開されてるfx_castおよび各OS用のブリッジをインストールすることで、Firefoxからも画面のキャストが出来るようになるようです。

ただ、詳細が不明なのと殆どウェブ上で情報も見かけないため自己責任となります。

実際に使ってみましたが、fx_castとBridgeをインストール後にマシンを再起動。プライベートウィンドウと保護されたウェブサイトでの実行をオンにして、Enable backup daemon connection onにチェック。fx_castにローカルネットワーク探索を許可してYoutubeを開いてWhitelistに追加してようやくYoutubeをキャスト出来ました。

かなり手間がある上に結局、FirefoxのタブだけキャストなのでChromeでのキャストと違い全画面キャストといったことは出来ません。ちょっと利便性が低いなぁ。他のアプリがChromecast側で動いてるとキャストが出来ません。

図:fx_castでFirefoxからもキャストが可能

設定をクリアする方法

前述までの内容は暫定対応策であってローカルネットワークの内容をクリアする方法ではありません。よって残り続けます。こちらのサイトにある対策法を実施することで、このローカルネットワークの中身を初期化することが可能です。Chromeのディレクトリ関係の削除等は不用なのでブックマークなどもログインしなおせばそのまま復活します。

  1. 事前にChromeの右上のアイコンからアカウントログインしておいて、念の為ブックマーク等のデータをすべて同期しておく。
  2. 同期が完了したらChromeを閉じる
  3. Chromeをアンインストールする
  4. macOSをシャットダウンする
  5. 電源長押しで再起動する(リカバリーモードになる)
  6. オプションを選択して続行します
  7. アカウントにログインする
  8. メニューからユーティリティ⇒ターミナルを開く
  9. コマンドで以下の内容を入力して実行する(SIPの無効化の実施)
    csrutil disable
    reboot
  10. 再起動したら普通にログインする
  11. 以下のディレクトリを開く
    /Library/Preferences
  12. この中にある以下の2つのファイルをゴミ箱に捨てて削除する
    com.apple.networkextension.plist
    com.apple.networkextension.uuidcache.plist
  13. 再起動する
  14. システム環境設定を開いて、ローカルネットワークの中身が空になってることを確認する
  15. ここでもう一回シャットダウンする
  16. 電源長押しで再起動する(リカバリーモードになる)
  17. メニューからユーティリティ⇒ターミナルを開く
  18. コマンドで以下の内容を入力して実行する(SIPの有効化の実施)
    csrutil enable
    reboot
  19. 再起動したら普通にログインする
  20. Chromeをダウンロードして再インストールする
  21. Chromeを起動して、自身のアカウントでログインすると、全て復活します。

SIPはセキュリティに直結する内容なので、必ず最後に再有効化しましょう。SIPをオフにしないと設定ファイルの削除が拒否されますので要注意です。

これでローカルネットワークの中身がスッキリ綺麗になり、キャストも出来るようになります。

図:リカバリモードでターミナルを開く

図:リカバリモード上のターミナル

図:削除すべきファイル

図:Cleanになって気分すっきり

関連エントリー

Chromecastを購入して色々検証してみた

FireTV Stickは一本あると何かと役に立つ

AirServerとスマフォでPCにミラーリング

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)