Plötzlich funktionierte meine Webcam in meinen Browsern nicht mehr, obwohl sie funktionierte, wenn ich die cheese
Anwendung im Terminal ausführe. Ich teste es mitDiese Internetseite(und viele andere) in Google Chrome (Inkognito-Modus und Firefox) und ich erhalte diese Fehlermeldung:
NotFoundError: Angefordertes Gerät nicht gefunden; Objekt
lsusb
gibt:
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
Wenn ich eine externe Webcam verwende, wird diese immer noch nicht erkannt. Ich habe versucht, Chrome neu zu installieren, den Benutzer zu ändern und meinen Computer neu zu starten, aber es funktioniert immer noch nicht. Das Mikrofon wird stattdessen korrekt erkannt.
Meine Systeminformationen:
Distributor ID: Ubuntu
Description: Ubuntu 21.10
Release: 21.10
Codename: impish
Kernel: 5.13.0-23-generic
ls -l /dev/video*
druckt
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
druckt
alex : alex adm cdrom sudo dip video plugdev lpadmin lxd sambashare
bash ./pathlld /dev/video*
druckt
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*
druckt
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::---
Antwort1
Viele Gerätezugriffsprobleme können durch Änderungen der Gruppenmitgliedschaft gelöst werden.
Sie können den Gerätenamen herausfinden, indem sudo journalctl --follow
Sie beim Verbinden Ihres Geräts zuschauen. ODER ls -1 /dev >dev.before
, verbinden Sie das Gerät, warten Sie 10 Sekunden, ls -1 /dev >dev.after;diff dev.{before,after}
. Ihre Kamera ist wahrscheinlich /dev/video
.
Insbesondere wenn ls -l
angezeigt wird, dass die Gruppenberechtigungen (das zweite " rwx
"-Triplett) " rw
" lauten (z. B. " -rw-rw----
"), dann wird der Zugriff gewährt, wenn man sich selbst zu der Gruppe hinzufügt, der das Gerät gehört rw
.
Hier ist wie:
device="/dev/whatever"
sudo adduser $USER $(stat -c "%G" $device)
Damit können Sie Mitglied der Gruppe werden, die rw
das Gerät verwenden kann.aber es gibt noch einen weiteren Schritt.
Um alle Ihre Prozesse zu Mitgliedern der neuen Gruppe zu machen, melden Sie sich ab und wieder an. Gruppenmitgliedschaften werden bei der Einrichtung festgelegt login
.
So erstellen Sie einen einzelnen Prozess in der neuen Gruppe (zum Testen, vor dem Abmelden/Anmelden):
newgrp $(stat -c "%G" $device)
oder geben Sie einfach den Gruppennamen ein. Siehe man newgrp
.