I send my gmail emails from thunderbird (on Ubuntu machine). I am wondering whether thunderbird sends out the IP? If so, how can I hide my IP from the outgoing emails?
Email clients (like Thunderbird) generally don't insert origin IP addresses (or other header lines) into sent emails.
Usually, if such a change takes place, it's done by the mail server that the email client connects to.
In this case, I tried a test email (Sent via Gmail on Thunderbird), and my IP does not appear in it. You should verify that this result is the same for you - Gmail will have multiple mail servers, and they may behave differently (e.g. for testing).
Edit: Oops, I'll address the "how to hide" part of the question.
Short answer: You can't hide your IP from the email server you connect to.
Long answer: You can't hide your IP from the email server you connect to, because by definition, you need to connect to it to send your email, and once you do that, it knows your IP address. Once it has that information, it can do anything it wants with it - log it, store it, alert the police, or insert it into the email header.
The only thing you can do is to connect to the mail server from an IP address that can't be linked back to you. So this means using a privacy-oriented network tool like Tor, or a trusted VPN. Or, use public WiFi, e.g. at your local library or Starbucks etc.