Anyone running the IDE on Ubuntu?

The more I use Windows, the less I like it.

99% of my windows use is email, browsing and Arduino sketch development, so why am I still using Windows on my primary desktop PC? (The last 1% is Photoshop. I know there are similar programs for Linux, but I am quite proficient with Photoshop and too old to learn a new program. Besides, I paid a few hundred $$ for a permanent license of Photoshop- they aren't going to hold me hostage to an overpriced rental).

Question: what is your process in Linux to flash a program to an Arduino, or in my case, an ESP board?

I use Linux all the time on this laptop. AFAIK the Arduino IDE works just the same on Linux as on Windows - I don't think I ever used it on Windows.

Linux has the added bonus that I have never had to download a driver.

The Linux IDE is just a Java program so you can just download it, extract the files and run it. I have Java on my laptop for other purposes so I'm not sure if the IDE download includes a Java runtime.

...R

I was sure the IDE would work exactly the same on Linux, my question is about the USB port. I have an editing PC that hasn't been turned on for weeks because I have stopped my video business last January. So it occurred to me to install Ubuntu on it and to start using it as my everyday PC.

Ubuntu because I have it on two Intel NUC's already. One for my Plex Server and one for my Home Assistant server.

The difference with uploading on Linux is you often need to set up the permissions, which can be a bit tricky.

There is some info here:
https://www.arduino.cc/en/guide/linux#toc6

You may also need to set up udev rules and disable/uninstall modemmanager

The Arduino IDE comes with an optional script that takes a "shotgun" approach to this process:

Some of the boards platforms come with their own supplemental scripts. For example:

(but note the version number in that path is very outdated)

I removed modemmanager right away for other reasons. It's a plan but I want to get a Christmas Tree program (programmable LED strings) working to my wife's satisfaction first.

I have a spare 250gb SSD in my drawer that has never been used, so I will just swap out the Windows SSD and install Ubuntu Desktop. One of my NUCs is a reliable NAS, so moving my work will be no issue.

pert:
The difference with uploading on Linux is you often need to set up the permissions, which can be a bit tricky.

I never found it tricky. Just add yourself to the dialout group.

On my Linux Mint you do that with Menu / Administration / Users and Groups

...R

I have found it necessary to set up udev rules in addition to being in the dialout in order to use some of the boards. My usual approach is to just start running random copy/paste commands I find from Google searches until the board starts working.

That's not satisfying to me though becasuse I like to have an understanding of what I'm doing. So the last time I ran into this I made a concerted effort to actually learn how this stuff works. After a couple hours of getting absolutely nowhere, I hit a deadline and had to do the copy/paste and move on. It seems ridiculously complex and not documented in an easy to understand manner.

pert:
I have found it necessary to set up udev rules in addition to being in the dialout in order to use some of the boards.

I have not come across that but I have not used a wide range of boards - only Uno, Mega, nano, Leonardo, Yun, ESP8266 and ESP32-CAM plus a few Attinys

...R