突然,我的網路攝影機在瀏覽器中停止工作,即使我cheese
在終端機中運行應用程式時它可以工作。我正在測試它這個網站(以及許多其他)在 Google Chrome(隱身模式和 Firefox)上,我收到以下錯誤訊息:
NotFoundError:未找到要求的裝置;目的
lsusb
給出:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0bda:57f2 Realtek Semiconductor Corp. HD WebCam
Bus 001 Device 003: ID 04ca:3015 Lite-On Technology Corp. Qualcomm Atheros QCA9377 Bluetooth
Bus 001 Device 002: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
如果我使用外部網路攝影機,這仍然不會被偵測到。我嘗試重新安裝 Chrome、更改使用者並重新啟動我的計算機,但仍然無法運作。相反,麥克風被正確檢測到。
我的系統資訊:
Distributor ID: Ubuntu
Description: Ubuntu 21.10
Release: 21.10
Codename: impish
Kernel: 5.13.0-23-generic
ls -l /dev/video*
印刷
crw-rw----+ 1 root video 81, 0 gen 6 18:06 /dev/video0
crw-rw----+ 1 root video 81, 1 gen 6 18:06 /dev/video1
groups $USER
印刷
alex : alex adm cdrom sudo dip video plugdev lpadmin lxd sambashare
bash ./pathlld /dev/video*
印刷
drwxr-xr-x 21 root root 4096 gen 6 12:46 /
/dev/sdb2 on / type ext4 (rw,relatime,errors=remount-ro)
drwxr-xr-x 22 root root 4960 gen 6 19:14 /dev
udev on /dev type devtmpfs (rw,nosuid,relatime,size=6036388k,nr_inodes=1509097,mode=755,inode64)
crw-rw----+ 1 root video 81, 0 gen 6 19:12 /dev/video0
drwxr-xr-x 21 root root 4096 gen 6 12:46 /
/dev/sdb2 on / type ext4 (rw,relatime,errors=remount-ro)
drwxr-xr-x 22 root root 4960 gen 6 19:14 /dev
udev on /dev type devtmpfs (rw,nosuid,relatime,size=6036388k,nr_inodes=1509097,mode=755,inode64)
crw-rw----+ 1 root video 81, 1 gen 6 19:12 /dev/video1
getfacl /dev/video*
印刷
getfacl: Removing leading '/' from absolute path names
# file: dev/video0
# owner: root
# group: video
user::rw-
user:alex:rw-
group::rw-
mask::rw-
other::---
# file: dev/video1
# owner: root
# group: video
user::rw-
user:alex:rw-
group::rw-
mask::rw-
other::---
答案1
許多裝置存取問題可以透過群組成員身分變更來解決。
sudo journalctl --follow
您可以透過觀看連接設備來找到設備名稱。或者ls -1 /dev >dev.before
,連接設備,等待 10 秒ls -1 /dev >dev.after;diff dev.{before,after}
。你的相機可能是/dev/video
。
具體來說,如果ls -l
顯示群組權限(第二個「rwx
」三元組)為「rw
」(例如「-rw-rw----
」),則將自己新增至擁有該裝置的群組將授予rw
存取權限。
就是這樣:
device="/dev/whatever"
sudo adduser $USER $(stat -c "%G" $device)
這允許您成為可以使用該設備的群組的成員身份rw
,但還有一步。
若要使所有進程成為新群組的成員,請登出並登入。小組成員資格是按時間設立的login
。
若要在新群組中建立單一進程(用於測試,在登出/登入之前):
newgrp $(stat -c "%G" $device)
或者,只需鍵入群組名稱。看man newgrp
。