avrdude: stk500v2_ReceiveMessage(): timeout

How to Upload a Sketch to an Arduino

Connect your Arduino using the USB cable. The square end of the USB cable connects to your Arduino and the flat end connects to a USB port on your computer.
Choose Tools→Board→Arduino Uno to find your board in the Arduino menu. ...
Choose the correct serial port for your board. ... probably /dev/ttyUSB0
Click the Upload button.

Show us what happens. I don't know whether you have a hand-full of different Arduinos or you are selecting different ones to get your Uno clone to work.

Let's just try to get the Uno clone to work.

My clone

 lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

[$ dmesg |tail
[ 2183.229519] usb 3-3.7: New USB device found, idVendor=1a86, idProduct=7523
[ 2183.229522] usb 3-3.7: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 2183.229524] usb 3-3.7: Product: USB2.0-Serial
[ 2184.273322] usbcore: registered new interface driver usbserial
[ 2184.273333] usbcore: registered new interface driver usbserial_generic
[ 2184.273341] usbserial: USB Serial support registered for generic
[ 2184.274660] usbcore: registered new interface driver ch341
[ 2184.274671] usbserial: USB Serial support registered for ch341-uart
[ 2184.274685] ch341 3-3.7:1.0: ch341-uart converter detected
[ 2184.275045] usb 3-3.7: ch341-uart converter now attached to ttyUSB0
]

With the Uno hooked up to the pc, press the reset button and release. Does the L Led blink three times after the release?
If it doesn't we may have boot-loader problems.