브라우저가 내 웹캠을 감지할 수 없지만 치즈에서는 작동합니다.

브라우저가 내 웹캠을 감지할 수 없지만 치즈에서는 작동합니다.

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.

관련 정보