web-dev-qa-db-ja.com

ラップトップの内蔵ウェブカメラをシェルからオン/オフにする方法

Fn + F6キーの組み合わせにより、ラップトップの統合Webカメラのオン/オフが切り替わります。 dmesg出力を見ると、Webカメラ(USBデバイス)が多かれ少なかれUSBバスに/から仮想的に接続/切断されているようです。

usb 1-5: new high-speed USB device number 9 using ehci_hcd
usb 1-5: New USB device found, idVendor=5986, idProduct=0203
usb 1-5: New USB device strings: Mfr=3, Product=1, SerialNumber=0
usb 1-5: Product: BisonCam, NB Pro
usb 1-5: Manufacturer: Bison Electronics Inc.
uvcvideo: Found UVC 1.00 device BisonCam, NB Pro (5986:0203)
input: BisonCam, NB Pro as /devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0/input/input14
usb 1-5: USB disconnect, device number 9

最初の7行は「接続」の後にあり、最後の行は「切断」イベントの後にあります。わかりやすくするために、dmesgタイムスタンプは削除されました。

ttyコンソールから実行されたshowkeyはキーコード214を返し、KDEからのxevはキーコード220を返し、またXF86WebCamを返しました。 xev + F6の押下に関連するFn出力の一部は次のとおりです。

KeyPress event, serial 40, synthetic NO, window 0x3600001,
    root 0xac, subw 0x0, time 78270130, (346,354), root:(348,377),
    state 0x0, keycode 220 (keysym 0x1008ff8f, XF86WebCam), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

Fnxdotool、およびxvkbdを使用してxmacro + F6の組み合わせ(214、220、またはXF86WebCam)のキーコードを送信しようとしましたが、成功しませんでした。

おそらくそれを行う正しい方法は、キーコードをまったく使用しないことです。

3
sm4rk0

コマンドラインでmodprobeをインタラクティブに使用してこれを実行できる場合があります。ブラックリストに登録してから、/etc/modprobe.d/blacklist.confで再起動またはリソースを取得できる場合があります。

私はちょうど見つけました AskUbuntuのこの投稿 私は現在私の前にウェブカメラを備えたシステムを持っていないので、もう少し詳細を提供するかもしれません。

2
Eric G

Root権限で次のコマンドを実行します。

エコー0> /sys/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0/authorized

パスはdmesgの出力から取得されます。

入力:BisonCam、NB Pro as /devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0/input/input14

これにより、バス全体もuvcドライバーも非アクティブ化せずにシステムがデバイスにアクセスできなくなり、再起動も不要になります。

再アクティブ化するには、echo 1 > /sys/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0/authorizedを実行します(これもroot権限で)。

注:私はLinux4.17でArchlinuxを使用しています

1
ilspinoza