Most modern Linux distributions come with drivers for webcams. It’s highly likely that a your newly bought USB camera is plug-and-play on a Ubuntu machine. Here’s a little illustration on how to test these devices on these types of OS’es.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# Check daemon messages for any cameras
kim@kimlinux:$ dmesg | grep -i "Camera"
[   12.644286] uvcvideo 1-1:1.0: Entity type for entity Camera 1 was not initialized!
[   12.644364] input: UVC Camera (046d:0990) as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/input/input12
 
# Check default video sources
kim@kimlinux:$ ls -ltrh /dev/video*
crw-rw----+ 1 root video 81, 1 Aug 27 16:29 /dev/video1
crw-rw----+ 1 root video 81, 0 Aug 27 16:29 /dev/video0
 
# Install webcam app
kim@kimlinux:~/Downloads$ sudo apt install cheese
[sudo] password for kim:
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following additional packages will be installed:
  cheese-common docbook-xml gnome-desktop3-data gnome-video-effects gstreamer1.0-clutter-3.0 libcanberra-gtk3-0
  libcanberra-gtk3-module libcheese-gtk25 libcheese8 libclutter-1.0-0 libclutter-1.0-common libclutter-gst-3.0-0
  libclutter-gtk-1.0-0 libcogl-common libcogl-pango20 libcogl-path20 libcogl20 libgnome-desktop-3-19 libyelp0 sgml-base
  sgml-data xml-core yelp yelp-xsl
Suggested packages:
  gnome-video-effects-frei0r docbook docbook-dsssl docbook-xsl docbook-defguide gnome-video-effects-extra sgml-base-doc
  perlsgml w3-recs opensp libxml2-utils debhelper
The following NEW packages will be installed:
  cheese cheese-common docbook-xml gnome-desktop3-data gnome-video-effects gstreamer1.0-clutter-3.0 libcanberra-gtk3-0
  libcanberra-gtk3-module libcheese-gtk25 libcheese8 libclutter-1.0-0 libclutter-1.0-common libclutter-gst-3.0-0
  libclutter-gtk-1.0-0 libcogl-common libcogl-pango20 libcogl-path20 libcogl20 libgnome-desktop-3-19 libyelp0 sgml-base
  sgml-data xml-core yelp yelp-xsl
0 upgraded, 25 newly installed, 0 to remove and 0 not upgraded.
Need to get 3,002 kB of archives.
After this operation, 13.7 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
### truncated output for brevity ###
 
# init webcam GUI
kim@kimlinux:$ cheese &