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
.