Edited at

Macで外部webカメラを利用する(El Capitan)

More than 1 year has passed since last update.


 はじめに

webアプリで外付けのwebカメラを使用しようとしたところ,MacBookProの内臓カメラ(iSight)が反応してしまって上手くいかず,どハマりしてしまったので備忘録を残しておきます.


環境


  • MacBook Pro (Retina, 13-inch, Late 2013)

  • OS X El Capitan


方法


iSight Disablerを利用

てっとり早いのはiSight Disablerというアプリを利用する方法です.サイトからダウンロードして解凍・起動し,スクリプトエディタを走らせるだけです.

スクリプトのオンオフを簡単に切り替えることができます.しかし,公式サイトにもあるように,El CapitanからはOSの仕様が変わったため利用できません.


システム整合性保護機能(Rootless)を無効にする

なにが変わったかというと,El Capitanには新しいセキュリティ機能(SIP:System Integrity Protection)「Rootless」が追加されており,rootユーザーでも/usr/bin/ディレクトリの変更できなくなっています(iOS 9 & OS X 10.11 to bring ‘quality’ focus, smaller apps, Rootless security, legacy iPhone/iPad support).

そのため,iSight DisablerがiSightをいじろうとしてブロックされてしまっていたと考えられます.

Rootlessを無効にする手順は以下のとおりです.


1. リカバリーモードで起動する

まず,


  1. Macを終了

  2. 「command + R」キーを押したまま再起動

  3. Appleのロゴが出たらキーを離す

で,Macをリカバリーモードで起動します.


2. ターミナルからRootlessを無効化

ターミナルを起動(ユーティリティ- -> ターミナル)し,以下のコマンドを実行します.

yukiB$ csrutil status

System Integrity Protection status: enabled (Apple Internal).

yukiB$ csrutil disable
Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.

これでSIPが無効化されるので,Macを再起動してください.この状態であればiSightDisablerが機能するはずです.


2. QuickTimeのSystemLibraryファイルをいじる

この方法は,下手をすると戻せなくなるので注意が必要です.

やり方は簡単で, /System/Library/QuickTime/以下にある,QuickTimeUSBVDCDIgitizer.componentファイルをどこか別の場所に退避させるだけです(間違ってもrmしないでください).

その後,Macを再起動すれば,faceTimeやwebアプリで内臓カメラが反応しなくなるはずです.


おわりに

わかってみれば手順は少ないですが,なかなかEl Capitanの情報が出てこずあせりました(中にはセキュリティーの意味で内臓カメラオフにしたい人はテープでふさげ!!みたいな記事も...).これらの方法で一切iSightが使えなくなるということはないかと思いますが,試すのは自己責任ということでよろしくお願いします.


参考文献