web-dev-qa-db-ja.com

内部ウェブカメラを無効にする方法は?

Ubuntu 13.10を実行しているラップトップの内部Webカメラを無効にしたいですか? here が示唆しているように、ブラックリストに載せることで、関連するカーネルモジュールをすでに無効にしています。ただし、再起動後もモジュールはロードされます。これらのモジュールを削除するにはどうすればよいですか?

モジュールのブラックリストは/etc/modprobe.d/blacklist-webcam.confにあり、次のようになります。

blacklist videodev
blacklist videobuf2_core
blacklist videobuf2_memops
blacklist videobuf2_vmalloc
blacklist uvcvideo

しかし、lsmodは(再起動後)私に与えます:

Module                  Size  Used by
uvcvideo               80885  0 
videobuf2_vmalloc      13216  1 uvcvideo
videobuf2_memops       13362  1 videobuf2_vmalloc
videobuf2_core         40499  1 uvcvideo
videodev              133509  2 uvcvideo,videobuf2_core

編集:
Sudo modprobe -r uvcvideoを実行すると、モジュールがなくなります。そのため、それを行うスクリプトを作成できます。しかし、私はそれをきれいな解決策とは考えません;-)

10
Marc Hauptmann

ご協力ありがとうございました! ベインの解決策 を試しているときに問題の原因が見つかりました。彼のソリューションはうまく機能しています。再起動後、モジュールは本当になくなりました。しかし、1つの欠点があります。Webカメラを再度有効にしたい場合に、modprobe uvcvideoを介してモジュールをロードできません。

uvcvideoモジュールが読み込まれた理由を調べるためにシステムを掘り下げながら、最終的にgrep -r uvcvideo /etc/とvoilàを作成し、電源コードが差し込まれたときに/etc/pm/power.dを実行するスクリプトをmodprobe uvcvideoで見つけました。少し前にこのスクリプトを使用して、電力消費を最適化します。 Webカメラモジュールを扱う行をコメントアウトした後、ブラックリストが機能しました!

1
Marc Hauptmann
  • Blacklist.confでblacklist videodevinstall videodev /bin/falseに変更します
  • update-initramfs -u
  • reboot

詳細については、 Arch Wikiのカーネルモジュールブラックリスト を参照してください。

ブラックリスト

カーネルモジュールのコンテキストでのブラックリスト登録は、カーネルモジュールのロードを防止するメカニズムです。これは、たとえば、関連するハードウェアが不要な場合、またはそのモジュールをロードすると問題が発生する場合に役立ちます。たとえば、同じハードウェアを制御しようとする2つのカーネルモジュールがあり、それらを一緒にロードすると、対立。

一部のモジュールは、initramfsの一部としてロードされます。 mkinitcpio -Mは、自動的に検出されたすべてのモジュールを出力します。initramfsがそれらのモジュールの一部をロードしないようにするには、/ etc/modprobe.d/modprobe.confでそれらをブラックリストに追加します。 mkinitcpio -vを実行すると、さまざまなフック(ファイルシステムフック、ブロックフックなど)によってプルされたすべてのモジュールがリストされます。その.confファイルを/etc/mkinitcpio.confのFILESセクションに追加してください(まだ行っていない場合)。モジュールをブラックリストに追加したらinitramfsを再構築し、その後再起動します。

/etc/modprobe.d/内のファイルを使用する

/etc/modprobe.d/内に.confファイルを作成し、blacklistキーワードを使用して、ブラックリストに登録するモジュールごとに行を追加します。たとえば、pcspkrモジュールがロードされないようにする場合:

/etc/modprobe.d/nobeep.conf

# Do not load the 'pcspkr' module on boot.
blacklist pcspkr

注:blacklistコマンドはモジュールをブラックリストに登録して自動的にロードされないようにしますが、別のブラックリストに載っていないモジュールが依存している場合、または手動でロードされた場合、モジュールがロードされる場合があります

ただし、この動作には回避策があります。 installコマンドは、通常のようにモジュールをカーネルに挿入する代わりにカスタムコマンドを実行するようにmodprobeに指示します。そのため、次のコマンドを使用してモジュールのロードを常に失敗させることができます。

/etc/modprobe.d/blacklist.conf

...
install module_name /bin/false
...

これにより、そのモジュールとそれに依存する他のモジュールが効果的にブラックリストに登録されます。

6
bain

モジュールのリストを/etc/modprobe.d/blacklist.uvcdrver.confに置くだけで動作するはずです。ファイル名は任意です。形式と権限が正しいことを確認してください。

1
askb

実行することをお勧めします

Sudo update-initramfs -u

ブラックリストを変更した後。これにより、初期RAMディスクが更新されます。

0
N8tron

あなたが1つのコマンドライン命令で解決策を求めていた場合、これは役に立つかもしれません( this answer に基づいて):

再起動するまでカメラを無効にするには、次のコマンドを使用します。

Sudo modprobe -r uvcvideo

パスワードを入力し、端末にエラーが表示されない場合は、ウェブカメラを無効にする必要があります。次のエラーメッセージが表示された場合:modprobe:FATAL:Module uvcvideo is in use、you can try to force remove with:

Sudo rmmod -f uvcvideo

Webカメラを再び有効にするには、Shellを入力します。

Sudo modprobe uvcvideo
0
gaboroncancio