Being a long time Linux (Puppy Linux from 2004), Linux has tools for all computer applications. However, there is a learning curve like every thing else in the world (e.g. cars, dealing with people, etc.). The Arduino IDE is java based and is fairly easy to install with the correct package for the Linux being used. There should be an installation package for Ubuntu. Please check the Arduino web site, I think there is a package for Ubuntu for the IDE there. Linux and Arduino are developed in the same way, by a dedicated group of unpaid volunteer developers with community support for testing and suggestions.
There are two excellent books that helped me to learn about Arduino processors and programming for it. They are both by Simon Monk and are fairly reasonable for cost. The first is "Programming Arduino Getting Started with Sketches". The second is "Programming Arduino Next Steps Going Futher with Sketches". Start with a the first book and read through it. It gives the basics. The second has more details and advance topics, but, I use it as a standard reference. The example programs in the book with some other stuff are available on the web at:
https://github.com/simonmonk?tab=repositories.
There is also a simple reference on the web called arduino_notebook_v1-1.pdf. It is a good desk reference for syntax and command descriptions. The best web source is the Arduino web site and searching it. It has a specialized Google search for it.
Rather than jumping in the "deep end of the pool" with your project, I would suggest getting one of the Arduino starter kits and using it to learn the basics. The cost of the books and a starter kit should be around a hundred dollars.
One problem, as a new user that I encountered, is library differences between teensy and arduino. Sometimes a program calls a library that works with the arduino processor line, when used with teensy, complies with errors and warnings. You have to keep in mind that teensy is not using the same processor as Arduino. But, I have found a fix for the issues by either searching the web or asking on the forum. In general, the teensy community is kind to new users, but, you need to provide enough information to get a proper answer. People can not help with only the statement "it does not work".
I hope the above is a help.
Enjoy life, Greg
Live Well, Laugh Often, Love Much